您的位置:首页 > 编程语言 > Python开发

python使用codecs模块进行文件操作-读写中英文字符

2018-03-25 16:10 981 查看
由于python中默认的编码是ascii,如果直接使用open方法得到文件对象然后进行文件的读写,都将无法使用包含中文字符(以及其他非ascii码字符),因此建议使用utf-8编码。

使用方法 

读 

下面的代码读取了文件,将每一行的内容组成了一个列表。 
import codecs
file = codecs.open('test.txt','r','utf-8')
lines = [line.strip() for line in file]
file.close()

写 

下面的代码写入了一行英文和一行中文到文件中。 
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|读写,二进制,若文件已存在,内容不会清空|
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  codecs模块