>>> s = 'auszuschließen'
>>> print(s.encode('ascii', errors='xmlcharrefreplace'))
b'auszuschließen'
>>> print(str(s.encode('ascii', errors='xmlcharrefreplace'), 'ascii'))
auszuschließen
有没有更好的方法在不使用b''的情况下打印任何字符串?
编辑:
我只是想从Python中打印转义字符,唯一的问题是当我这么做时,Python会添加"b''"。
如果我想在像Windows 7这样的简陋终端中看到实际字符,则会得到以下结果:
Traceback (most recent call last):
File "Mailgen.py", line 378, in <module>
marked_copy = mark_markup(language_column, item_row)
File "Mailgen.py", line 210, in mark_markup
print("TP: %r" % "".join(to_print))
File "c:\python32\lib\encodings\cp437.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2026' in position 29: character maps to <undefined>
print(s)
呢?为什么需要编码为ASCII? - jcolladoprint(s)
。我在答案中没有提到它,因为如果设置不正确,Python可能会崩溃。 - jfs