Python2.7的UnicodeEncodeError
UnicodeEncodeError: ‘ascii’ codec can’t encode
异常错误
这个错误是编码问题,Unicode编码与ASCII编码的不兼容,现在Python脚本文件是由utf-8编码的,但是 Python2的默认是ASCII
的,Python默认环境编码通过下面的方法可以获取:
1 | import sys |
基本上是ascii编码方式,由此Python自然调用ascii编码解码程序去处理字符流,当字符流不属于ascii范围内,就会抛出异常(ordinal not in range(128))。
解决的方案很简单,修改默认的编码模式。
1 | import sys |
还有一种更好的方法,在输出的时候,对文件制定特定的UTF-8编码即可。
就是在打开一个文件的时候,不是用open
而是用codecs
1 | fp = codecs.open(‘output.txt’, ‘a+’, ‘utf-8’) |