为了支持读写非ASCII码字符,使用codecs模块读取UTF-8编码文件。
读
下面的代码读取了文件,将每一行的内容组成了一个列表。1
2
3
4import codecs
file = codecs.open('test.txt','r','utf-8')
lines = [line.strip() for line in file]
file.close()
写
下面的代码写入了一行英文和一行中文到文件中。1
2
3
4
5import 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 | 读写,二进制,若文件已存在,内容不会清空 |