python中的文件读取
---恢复内容开始---
r模式,只读模式,不可写入,文件不存在会报错
#r模式,能读不能写,文件不存在会报错 f = open('a1.txt')#不写'r',默认只读 result = f.readlines() #readlines读所有,出来是一个列表 f.seek(0)#文件指针返回第一行 result1 = f.read()#read读所有,出来是一个字符串 f.seek(0) result2 = f.readline()#每次只读一行 result3 = f.readline()#每次只读一行 result4 = f.readline()#每次只读一行 f.close() print(result) print(result1) print(result2) print(result3) print(result4) 输出: ['第一行\n', '第二行\n', '第三行'] 第一行 第二行 第三行 第一行 第二行 第三行
#w模式,能写不能读,文件不存在会报错,还会清空以前的内容(从头开始编辑)
#w模式,能写不能读,文件不存在会报错,还会清空以前的内容(从头开始编辑) s = ['abc','bcd','cdbd'] f = open('a2.txt','w',encoding='utf-8') result1 = f.write('abc\n')#write只能传字符串 result2 = f.writelines(s)#writelines能传一个可以循环的类型,字典,列表等 f.close()
r+模式,能读能写,不存在的文件会报错,不会清空文件,文件指针放在开头
#r+模式,能读也能写,但是不存在的文件会报错,不会清空文件,会替换内容,文件指针放在头 f = open('a2.txt','r+',encoding='utf-8') result = f.read() f.write('r+追加 ') f.close() print(result) 输出: 第一行 r+追加 r+追加
w+模式,指针放在结尾,能读能写,但是读不到东西,会清空文件
#w+模式,能读也能写,写完后读不到东西,会清空文件,指针放在结尾 f = open('a2.txt','w+',encoding='utf-8') result = f.read() f.write('r+追加 ') f.close() print(result)
a+模式,能读能写,可追加不清空,指针放在开头,读不出东西
# a+模式,能读也能写,写完后读不到东西,不会清空文件,写完指针在结尾 f = open('a2.txt','a+',encoding='utf-8') f.seek(0)#指针放到开头就可以读到东西了 result = f.read() f.write('a+追加模式') f.close() print(result) 输出: a+追加模式
大文件读写方法 循环文件取每一行,性能上比readline与read ,readlines好
with open('a.txt',encoding='utf-8') as f: for line in f: print(line)
---恢复内容结束---