文件读写
1、先打开文件
2、读取/写入内容
3、保存文件
文件的open模式有三种
1、w 写模式,它是不能读的 只要用w打开文件,文件中的东西都会被清空
w+, 写读模式,只要沾上w 就会清空原来的文件
2、r 读模式,只能读,不能写,而且文件必须存在
r+ 读写模式,只要沾上r 文件必须存在 不存在就会报错
3、a 追加模式,也能写 这种模式,打开文件后直接定位到文件的末尾,然后开始追加,所以会用到 .seek(0)得方法
a+
rb+ wb+
f=open('a.txt222','a+',encoding='utf-8')
f.seek(0) #a+模式,指针定位在末尾,使用.seek(0)可以将指针定位带最前面
print(f.read()) #read:返回的是字符串 读取的是整个文件 效率低
print(f.readlines()) #readlines:返回的是一个列表 通常用来读取配置文件 read和readlines读取的是整个文件 效率低
f.seek(0)
print(f.readline()) #readline方法:返回的是字符串 每次只读取一行数据 效率高
如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便:
f=open(‘a.txt’)
如果在打开文件的时候不指定模式,那就是默认读模式
f=open('a.txt','r',encoding='utf-8')
print(f.read())
#直接循环的时候循环的是文件的每一行 比read和readlines的效率高些
count=1
for line in f:
print('第%s行:%s'%(count,line))
count+=1
--------------------------------------------------------------
write #写文件的的时候,只能是写字符串
f.writelines(['123','456','789']) #可以吧列表写到里头 list每个元素是文件的每一行
# f.write('jmysdfsdf&