欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

python-文件操作

程序员文章站 2022-04-19 10:16:34
...
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)