python-文件操作

巴扎黑
巴扎黑original
2016-12-06 14:08:211448parcourir

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)


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn