解决'ascii' codec can't encode character

问题

下午写实验代码时,遇见一个错误。

Traceback (most recent call last):
File “/home/kang/坚果云_windows/final_paper/code/genetic_enhancement/workspace/src/network_analysis/preprocess.py”, line 54, in get_feature
print str(fore_name.text) + ’ ’ + str(last_name.text)
UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\xed’ in position 3: ordinal not in range(128)

解决

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

你可能感兴趣的:(python学习)