python之路——8
王二学习python的笔记以及记录
学习内容
.1.文件操作
笔记.txt
1.文件路径:D:\python\Day8\笔记.txt
2.编码方式:GB2312
3.操作方式:只读,只写,追加,读写,写读...
以什么编码方式储存文件,就以什么编码进行操作
2. 各种操作 r w a r+ a+ w+
代码区
1.文件操作练习
# 只读文件 r
'''
# 非文字文件 用rb
f = open('d:\python\Day8\笔记.txt', mode='r', encoding='GB2312')
content = f.read()
print(content, type(content))
f.close()
'''
# 只写文件 w
'''
# w 没有文件,创建文件;有文件,删除内容再写入
f = open('log', mode='w', encoding='utf-8')
f.write('大萨达所')
f.close()
# wb
f = open('log', mode='wb',)
f.write('dsadsasds所'.encode('utf-8'))
f.close()
'''
# 增加内容 a a+ 增读
'''
f = open('log', mode='a', encoding='utf-8')
f.write('增加内容')
f.close() f = open('log', mode='ab')
f.write('假期'.encode('utf-8'))
f.close() f = open('log', mode='a+', encoding='utf-8')
f.write('增加内容')
f.seek(0)
print(f.read())
f.close()
'''
# 读写(r+ 读写顺序不要乱) 文件
'''
f = open('log', mode='r+', encoding='utf-8')
print(f.read())
f.write('呦西')
f.close() f = open('log', mode='r+b')
print(f.read())
f.write('呦西'.encode('utf-8'))
f.close()
'''
# 写读(w+ 写读顺序不要乱) 文件
'''
f = open('log', mode='w+', encoding='utf-8')
f.write('呦西')
f.seek(0)
print(f.read())
f.close() f = open('log', mode='w+b')
f.write('呦西'.encode('utf-8'))
f.seek(0)
print(f.read())
f.close()
'''
# 功能详解
# 按照最小字符去读 seek 是按照字节定义光标,unicode 中一个中文=3字节
'''
f = open('log', mode='r+', encoding='utf-8')
f.seek(3)
print(f.tell())
print(f.read())
f.close()
'''
# tell 使用 无论怎么调节光标a操作直接增加到最后
'''
f = open('log', mode='a+', encoding='utf-8')
f.write('增加内容')
count = f.tell()
f.seek(count - 3)
print(f.read())
f.close()
'''
# 命令
'''
f.tell()
f.readable() # 是否可读
f.readline() # 一行一行读
f.readlines() # 将每行当成列表中的一个元素
f.truncate(6) #对源文件进行截取 按字节 for line in f:
print(line) # 循环打印源文件 with open('log', mode='r+', encoding='utf-8') as f:
print(f.read())
with open('log', mode='r+', encoding='utf-8') as f, open('笔记.txt', mode='r+', encoding='GB2312') as f1:
print(f1.read()) # 同时打开多个
'''
2.用户注册,登陆,三次机会
# 用户注册,并登录,三次机会
print('欢迎注册')
account = input('请输入用户名')
answer = input('请输入密码')
with open('log', mode='w+', encoding='utf-8') as f:
f.write(account+'\n')
f.write(answer)
print('注册成功,请登录')
li = []
with open('log', mode='r+', encoding='utf-8') as f1:
for line in f1:
li.append(line)
count = 3 while count >= 1:
count = count - 1
acc = input('请输入账号')
if acc == li[0].strip():
count = 3
while count >= 1:
count = count - 1
ans = input('请输入密码')
if ans == li[1].strip():
print('正在登陆请稍后')
quit()
else:
print('密码错误,剩余次数', count)
continue
else:
print('账号输入错误,剩余次数',count)
if count == 0:
print('机会用完啦,明天再来吧')
break
continue
python之路——8的更多相关文章
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- Python之路
Python学习之路 第一天 Python之路,Day1 - Python基础1介绍.基本语法.流程控制 第一天作业第二天 Python之路,Day2 - Pytho ...
- python之路 目录
目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...
- Python之路【第十九篇】:爬虫
Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...
- Python之路【第十八篇】:Web框架们
Python之路[第十八篇]:Web框架们 Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...
- Python之路【第十七篇】:Django【进阶篇 】
Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...
- Python之路【第十六篇】:Django【基础篇】
Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...
- Python之路【第十五篇】:Web框架
Python之路[第十五篇]:Web框架 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...
- Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...
- Python之路【第八篇】:堡垒机实例以及数据库操作
Python之路[第八篇]:堡垒机实例以及数据库操作 堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient ...
随机推荐
- 判断网页打开浏览器类型,PC 手机端,微信浏览器,,,
//判断网页打开浏览器类型,PC 手机端,微信浏览器,,, <script type="text/javascript"> var browser = { versio ...
- js各种特效轮播图,选项卡,放大镜,窗口拖拽,楼层跳转
// 透明度轮播图 // img:轮播图片 // dot:轮播点 // lbtn:左箭头 // rbtn:右箭头 // banner:轮播盒子 // active:轮播点选中效果类名 // time: ...
- mqtt------ mosca服务器端参数简介
一:服务器端 为什么使用mosca:mosca是基于node.js开发,上手难度相对较小,其次协议支持完整,除了不支持Qos 2,其它的基本都支持.持久化支持redis以及mongo.二次开发接口简单 ...
- 转载 [c#] 虚函数(Virtual),抽象函数(abstract)和接口的区别
1.virtual:允许被重写,但不强制要求.声明时提供其自身实现: 2.abstract:强制要求其继承者重写.声明时不提供其自身的实现,抽象类不能被实例化: 3.interface:接口就是协议, ...
- C++中 string 的用法大全
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至 ...
- 管理商品demo
1.写一个管理商品的程序# 1.商品存在文件里面# 2.添加商品的时候,商品存在的就不能添加了,数量只能是大于0的整数,价格可以是小数.整数,但是只能是大于0的# 商品名称# 商品价格# 商品数量# ...
- VBA定时执行某程序
OnTime 方法参阅应用于示例特性安排一个过程在将来的特定时间运行(既可以是具体指定的某个时间,也可以是指定的一段时间之后). expression.OnTime(EarliestTime, Pro ...
- 神州数码广域网PPP封装CHAP认证配置
实验要求:掌握PPP封装协议下的CHAP认证 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface s0/1 进入端口 ip a ...
- 深入理解Java并发synchronized同步化的代码块不是this对象时的操作
本文仅仅是为了说明synchronized关键字同步的是对象不是方法,列子的确有失偏颇. 一.明确一点synchronized同步的是对象不是方法也不是代码块 我有关synchronized同步的是 ...
- python 转义字符 html 爬虫
用python的requests包 抓取某些网页时,返回的html中,一些字段含有一些 转义字符 \\\\\\\ 这些转义字符给我们后期处理带来一些麻烦, 比方说 运行js等 python用print ...