python codecs模块 ---处理数据写入文件时会有编码不统一的问题

Posted littlevigra

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python codecs模块 ---处理数据写入文件时会有编码不统一的问题相关的知识,希望对你有一定的参考价值。

我们用open方法打开文件有时候会有一些问题,因为open打开文件只能写入str类型,而不会管字符串是什么编码方式。

示例:

>>> fr = open(‘test.txt‘,‘a‘)

>>> line1 = "我爱祖国"

>>> fr.write(line1)

有编码不统一的时候,此时写入open方式打开的文件就有问题了。

>>> line2 = u‘我爱祖国‘

>>> fr.write(line2)

Traceback (most recent call last):

File "<pyshell#4>", line 1, in <module>

fr.write(line2) UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-11: ordinal not in range(128)

可以使用codecs.open,

>>> import codecs

>>> fw = codecs.open(‘test1.txt‘,‘a‘,‘utf-8‘)

>>> fw.write(line2)

>>>

以上是关于python codecs模块 ---处理数据写入文件时会有编码不统一的问题的主要内容,如果未能解决你的问题,请参考以下文章

codecs模块, decodeencode

Python2.7-codecs

python3 UnicodeEncodeError错误,cx_oracle模块执行sql报错:UnicodeEncodeError: 'ascii' codec can't

【Python】在安装python模块时报错:Unicode Decode Error ascii codec can't decode byte…

Python文件操作

python3读文件编码错误怎么办