本文主要是介绍python文件操作及练习题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
内容概要
读写模式之a模式
文件操作的相关方法
文件操作模式
文件操作代码练习题
文件内光标的移动及文件修改
内容详细
读写模式之a模式
# a模式 只追加模式
# 路径不存在:自动创建
with open(r'a.txt', 'a', encoding='utf8') as f:
pass
# 路径存在:不会清空文件 在文件末尾添加内容
with open(r'a.txt', 'a', encoding='utf8') as f:
f.write('\n今天天气不错')
"""小总结
我们学习的r w a读写模式都只能操作文本文件
"""
文件操作方法
# 文件操作方法
# 1.读系列
with open(r'a.txt', 'r', encoding='utf8') as f:
# print(f.read()) # 一次性读取文件内所有的内容
# print(f.readline()) # 每次只读取文件的一行内容
# print(f.readlines()) # 读取文件所有的内容 组织成列表 每个元素是文件的每行内容
# print(f.readable()) # 判断当前文件是否具备读的能力
# 2.鞋系列
with open(r'a.txt', 'w', encoding='utf8') as f:
# f.write('克服一切困难') # 往文件内谢日文本内容
# f.write(123) # 写入的内容必须是字符串类型
# f.writelines(['jason','kevin', 'tony']) # 可以将列表中多个字符串元素全部写入
# print(f.writable()) # True
# print(f.readable()) # False
f.flush() # 直接将内存内文件数据刷到硬盘 相当于ctrl+s
文件优化操作
with open(r'a.txt', 'r', encoding='utf8') as f:
# print(f.read()) # 一次性读取文件内所有的内容
# print(f.read()) # 一次性读取文件内所有的内容
# print(f.read()) # 一次性读取文件内所有的内容
"""
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(r'a.txt', 'w', encoding = 'utf8') as f:
# 将用户名和密码写入文件
f.write(data)
# 反馈用户创建信息成功
print('用户:%s创建成功' %(username))
# 登录功能
# 3.输入功能,获取用户名和密码
username = input('请输入用户名:').strip()
password = input('请输入密码:').strip()
# 打开a.txt文件,只读功能
with open(r'a.txt', '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('用户名或密码错误!')
这篇关于python文件操作及练习题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!