Maison >développement back-end >Tutoriel Python >python-文件操作
1、文件打开
打开模式:
f = open('test.txt','r')
#r,只读模式,文件不存在时,报错
f = open('test.txt','w')
#w,只写模式,文件不存在时,创建文件,文件存在时,清空原文件
f = open('test.txt','x')
#x,python3新增的模式,当文件存在时报错,文件不存在时,创建文件并写入
f = open('test.txt','a')
#a,追加模式,文件不存在时,创建文件
编码格式:
上述打开模式,默认的encoding='utf-8',当打开文件出现乱码时,可能是由于编码格式不一致导致的
此时,可以通过调整编码格式进行文件读取
f=open('test.txt','r',encoding='utf-8')
f=open('test.txt','r',encoding='gbk')
bytes模式:
当使用b参数时,文件将通过字节方式打开,而不适用b参数时,文件将以字符方式打开
f=open('test.txt','wb')
f.write(b'\xe7\xbb\xbf\xe8\x8c\xb6')
f.close()
=>以字节方式写入test.txt
n = open('test.txt','r',encoding='utf-8')
t = n.read()
print (t)
=> 没有b参数,以字符方式读取文件,显示为绿茶
2、文件操作
f=open('test.txt','r',encoding='utf-8')
f.seek()
=>移动当前指针位置到指定的位置,当打开模式中,没有b参数时,是按照字符位置移动,当以b参数打开时,是按照字节位置移动指针
f.tell()
=>获取当前指针的字节位置,与打开模式无关
f.flush()
=>强刷,一般对文件进行写入或者修改操作时,是先缓存,待文件关闭时再写入文件,使用该函数时,直接将修改内容写入文件
f.fileno
=>文件描述符
f.truncate()
=>将当前指针位置之后的内容全部截断
3、文件关闭
方式一:
f=open('test.txt','r',encoding='utf-8')
n = f.read()
f.close()
方式二:
with open('test.txt','r',encoding='utf-8') as f:
n =f.read()
使用with时,会自动进行文件的close操作
并且,使用with可以同时打开2个文件:
with open('test1.txt','r',encoding='utf-8') as f, open('test2.txt','w',encoding='utf-8') as h:
data = f.read()
h.write(data)