python⽂件操作及练习题内容概要
读写模式之a模式
⽂件操作的相关⽅法
⽂件操作模式
⽂件操作代码练习题
⽂件内光标的移动及⽂件修改
内容详细
读写模式之a模式
# a模式只追加模式
# 路径不存在:⾃动创建
with open(', 'a', encoding='utf8') as f:
pass
# 路径存在:不会清空⽂件在⽂件末尾添加内容
with open(', 'a', encoding='utf8') as f:
f.write('\n今天天⽓不错')
"""⼩总结
我们学习的r w a读写模式都只能操作⽂本⽂件
"""
⽂件操作⽅法
writelines()方法将什么写入文件
# ⽂件操作⽅法
# 1.读系列
with open(', 'r', encoding='utf8') as f:
# ad())  # ⼀次性读取⽂件内所有的内容
# adline())  # 每次只读取⽂件的⼀⾏内容
# adlines())  # 读取⽂件所有的内容组织成列表每个元素是⽂件的每⾏内容
# adable())  # 判断当前⽂件是否具备读的能⼒
# 2.鞋系列
with open(', 'w', encoding='utf8') as f:
# f.write('克服⼀切困难')  # 往⽂件内谢⽇⽂本内容
# f.write(123)  # 写⼊的内容必须是字符串类型
# f.writelines(['jason','kevin', 'tony'])  # 可以将列表中多个字符串元素全部写⼊
# print(f.writable())  # True
# adable())  # False
f.flush()  # 直接将内存内⽂件数据刷到硬盘相当于ctrl+s
⽂件优化操作
with open(', 'r', encoding='utf8') as f:
# ad())  # ⼀次性读取⽂件内所有的内容
# ad())  # ⼀次性读取⽂件内所有的内容
# ad())  # ⼀次性读取⽂件内所有的内容
"""
1.⼀次性读完之后光标停留在了⽂件末尾⽆法再次读取内容
2.该⽅法在读取⼤⽂件的时候可能会造成内存溢出的情况
解决上述问题的策略就是逐⾏读取⽂件内容
"""
# for line in f:  # ⽂件变量名f⽀持for循环相当于⼀⾏⾏读取⽂件内容
#  line
'''以后设计多⾏⽂件内容的额情况⼀般都是采⽤for循环读取'''
⽂件操作模式
t ⽂本模式
1.默认的模式
r w a >>>rt wt at
2.该模式所有操作都是以字符串基本单位(⽂本)
3.该模式必须要制定encoding参数
4.该模式只能操作⽂本⽂件
b ⼆进制模式
1.该模式可以操作任意类型的⽂件
2.该模式所有操作都是以bytes类型(⼆进制)基本单位
3.该模式不需要制定encoding参数
rb wb ab  # b不能省略
练习题
# 1.简易版注册登录功能
# 2.注册功能
# 获取⽤户输⼊信息
username = input('请输⼊您要创建的⽤户名>>>:').strip() password = input('请输⼊您要创建的密码>>>:').strip() # 将⽤户名和密码转为⼀个字符串
data = '%s|%s' %(username, password)
# 打开a.txt 只写模式
with open(', 'w', encoding = 'utf8') as f:
# 将⽤户名和密码写⼊⽂件
f.write(data)
# 反馈⽤户创建信息成功
print('⽤户:%s创建成功' %(username))
# 登录功能
# 3.输⼊功能,获取⽤户名和密码
username = input('请输⼊⽤户名:').strip()
password = input('请输⼊密码:').strip()
# 打开a.txt⽂件,只读功能
with open(', 'r', encoding = 'utf8') as f1:
# 由于⽂件只有⼀⾏内容,所以全部读完
date = f1.read()  # 'jason'|'123'
# 将读取到的数据切分
res = date.split('|')  # ['jason', '123']
#    利⽤索引取值,⼀⼀⽐对内容如果输⼊正确
if username == res[0] and password == res[1]:
print('⽤户:%s登录成功!'% username)
#    如果输⼊错误
else:
print('⽤户名或密码错误!')

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。