你如何"只是打印"包含Python3中的unicode的列表?
在Python2。*中,我可以这样做:
text = ['\u2014']
print(text)
但是在Python3中,由于臭名昭着的错误而失败了:
UnicodeEncodeError: 'ascii' codec can't encode character '\u2014' in position 2: ordinal not in range(128)
不幸的是,使用str()
的正常建议会失败,因为这只适用于Python3中的字节,而不是列表:
>>> print(str(text, encoding='utf-8', errors='ignore'))
TypeError: coercing to str: need a bytes-like object, list found
答案 0 :(得分:1)
要获得Python 2中用于在Python 3中打印列表的等效行为,请使用ascii()
:
>>> text = ['\u2014']
>>> print(ascii(text))
['\u2014']