我有一个列表L = [u'steve', u'micheal', u'pedro\xae']
当我试图阅读它时,我收到了一个错误,我认为它与'\ xae'
有关>>> L = [u'steve', u'micheal', u'pedro\xae']
>>>
>>> for n in L:
... print n
...
steve
micheal
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xae' in position 5: ordinal not in range(128)
>>>
知道如何摆脱这个问题吗?
所需的输出因此读数非常简单:
L= ['steve', 'micheal', 'pedro']
谢谢!
答案 0 :(得分:6)
廉价的解决方案
print n.encode('ascii','backslashreplace')
或
print n.encode('ascii','ignore')
但更好的方法是查看Martijn Pieters链接并修复编码......或者您的程序中其他地方可能会遇到更多问题