python笔记对文件操作

python中对文件操作,使用open()函数打开文件,然后进行后续处理,如读写等

1 open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)

参数说明:

  • file: 必需,文件路径(相对或者绝对路径)。
  • mode: 可选,文件打开模式,默认读方式打开
  • buffering: 设置缓冲
  • encoding: 一般使用utf8
  • errors: 报错级别
  • newline: 区分换行符
  • closefd: 传入的file参数类型
  • opener:

一般在使用时候之需关注前面2个即可,当涉及到编码格式时,encooding需要设置。

mode 参数有:

模式描述
t 文本模式 (默认)。
x 写模式,新建一个文件,如果该文件已存在则会报错。
b 二进制模式。
+ 打开一个文件进行更新(可读可写)。
U 通用换行模式(Python 3 不支持)。
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

默认为文本模式,如果要以二进制模式打开,加上 b 。

下面看一下具体实例

 1 def writefile():
 2     filename = 'username.txt'
 3     f = open(filename,'w',encoding='utf-8')  #以写方式打开
 4     f.write('学习python对文件操作')
 5     f.close()    #切记文件不操作后要关闭
 6 
 7 
 8 def writeaddfile():
 9     filename = 'username.txt'
10     f = open(filename, 'a',encoding='utf-8')  # 以追加方式打开
11     f.write('对文件进行追加写入')
12 
13 def readfile():
14     filename = 'username.txt'
15     f = open(filename,'r',encoding='utf-8')  # 以读方式打开
16     print(f.read())
17     f.close()
18 
19 def wrfile():
20     filename = 'username.txt'
21     f = open(filename,'r+',encoding='utf-8') #写读方式打开
22     f.write('对文件进行读写')
23     # print(f.read())
24     f.close()

如果是二进制读写,则在模式后面加b,如下:

1 def writeerfile():
2     filename = 'username.txt'
3     f = open(filename,'wb')  #以二进制方式写入,注意当使用二进制时候就不能设置encoding参数,读取使用要使用二进制方式读取
4     f.write('学习python对文件操作'.encode('utf-8'))
5     f.close()    #切记文件不操作后要关闭

每次操作文件后要关闭文件经常会忘记,可以使用with 关键字打开文件,在文件不操作时会自动关闭文件,同时with打开文件还同时支持打开2个文件

1 def withfile():
2     filename1= 'log1.txt'
3     filename2 = 'log2.txt'
4     with open(filename1,'w') as f1,open(filename2,'w') as f2:
5         f1.write('aaa')
6         f2.write('ddd')

对文件的基本操作,一般使用到的方法为具体为:

close()关闭文件

fileno()文件描述符

flush()刷新文件内部缓存区

isstty()判断文件是否同意tty设置

read()读取指定文件字节数据

readable()是否可读

readline()仅读取一行数据

seek()指定文件中指针位置

tell()获取指针位置

writeable()是否可写

truncate()截取数据,仅保留指定之前数据

原文地址:https://www.cnblogs.com/heertong/p/12189490.html