在python2.7下,将字符串写入到文件时会出现以下错误:
“UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\xa0’ in position”
原因是由于python基于ASCII处理字符的,当出现不属于ASCII的字符时,会出现错误信息。
指定文件字符集为utf-8
在文件头部加入以下代码:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
完整代码如下:
#coding=utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
print sys.getdefaultencoding()
str=u'测试'
file_object=open(u'f:/1.txt','wb')
try:
file_object.write(str)
except Exception,e:
print e
finally:
file_object.close()