【发布时间】:2018-07-30 11:35:36
【问题描述】:
我正在尝试使用:
text = "★"
file.write(text)
在 python 3 中。但我收到此错误消息:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0: ordinal not in range(128)
如何在python的文件中打印符号★?这与用作星级评定的符号相同。
【问题讨论】:
-
您需要使用不同的编码。
with open('file.txt', 'w', encoding='utf-8') as f: f.write("★") -
只要 Python 存在,这些关于 Unicode 的令人讨厌的问题就会不断出现。我不明白 Python 没有做对,即使在 v3 中也是如此。
-
@nehemiah 我同意,我希望这在 python 中是自动的,所以程序员不需要照顾这些细节。
标签: python python-3.x file non-ascii-characters