python2.7将字符串写入文件是报错'ascii' codec can't encode characters

在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()

原文出处:/show_1C7iAKPL4i8.html