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)

>>>

原文地址:https://www.cnblogs.com/hixiaowei/p/9056615.html