特性:python只能以一种模式操作文件,默认为只读模式。
读
r read
f = open(file='/Users/harris/PycharmProjects/pythonProject/练习/date.txt',mode='r')print(f.readline()) #只读首行print('-----------------------------------')print(f.read()) #f.read()读取所有,或者.read(读取多少字符数量)py操作文件-----------------------------------读写追加
w write 创建模式,会覆盖掉同名文件
f = open(file='/Users/harris/PycharmProjects/pythonProject/练习/date.txt',mode='w')f.write('harris 18 老师\n')f.write('uzi 20 职业选手\n')f.close() #操作完成后需要关闭

a append 追加 追加也是使用.write方法,只不过需要切换追加模式
f = open(file='/Users/harris/PycharmProjects/pythonProject/练习/date.txt',mode='a')f.write('jack 18 学生\n')f.close()

循环文件
f = open(file='/Users/harris/PycharmProjects/pythonProject/练习/date.txt',mode='r')for i in f:print(i)#执行效果harris 18 老师uzi 20 职业选手jack 18 学生
其他方法:
.seek 指定开始读的位置 (按字节读)utf-8最少指定3个字符,gbk 至少4个。
.flush 强制内存里的数据刷新到硬盘
readable 判断文件是否可读
seekable 判断文件能否seek
tell 判断光标位置
truncate 文件截断(按字节)指定值从文件头开始截,指定值从光标坐在位置开始截。
writeable 判断文件是否能写入
writelines 把列表写入文件,每个元素占1行
混合模式
w+ 写读模式,创建一个新文件,写一段内容,可以再读出来
r+ 读写模式,能读能写,但是只能写在文件最后,跟追加一样,默认光标在文件头。
a+ 追加读,文件一打开时光标会在尾部,写的数据全会是追加的形式,光标移至在末尾。
修改文件
使用r+模式,光标定位到要修改的地方写入即可。
不占内存修改修改文件:
读取旧文件修改并保存到新文件
