python文件操作

为了支持读写非ASCII码字符,使用codecs模块读取UTF-8编码文件。

下面的代码读取了文件,将每一行的内容组成了一个列表。

1
2
3
4
import codecs
file = codecs.open('test.txt','r','utf-8')
lines = [line.strip() for line in file]
file.close()

下面的代码写入了一行英文和一行中文到文件中。

1
2
3
4
5
import codecs
file = codecs.open('test.txt','w','utf-8')
file.write('Hello World!\n')
file.write('哈哈哈\n')
file.close()

文件读写模式

最为常见的三种模式,见下表,其中模式就是指获取文件对象时传入的参数,最常用的是前三个。

模式 描述
r 仅读,待打开的文件必须存在
w 仅写,若文件已存在,内容将先被清空
a 仅写,若文件已存在,内容不会清空
r+ 读写,待打开的文件必须存在
w+ 读写,若文件已存在,内容将先被清空
a+ 读写,若文件已存在,内容不会清空
rb 仅读,二进制,待打开的文件必须存在
wb 仅写,二进制,若文件已存在,内容将先被清空
ab 仅写,二进制,若文件已存在,内容不会清空
r+b 读写,二进制,待打开的文件必须存在
w+b 读写,二进制,若文件已存在,内容将先被清空
a+b 读写,二进制,若文件已存在,内容不会清空