Python:在文件中写★



我正在尝试使用:

text = "★"
file.write(text)

在Python 3中。但是我收到此错误消息:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0: ordinal not in range(128)

如何在python中的文件中打印符号★?这是用作星级等级的符号。

默认情况下open使用平台默认编码(请参阅文档(:

编码是用于解码或编码文件的编码的名称。这仅应在文本模式下使用。默认编码是平台依赖性的(任何locale.getpreferredencoding()返回(,但是可以使用Python支持的任何编码文本。有关支持的编码列表,请参见codecs模块。

这可能不是您注意到自己的编码,它支持非aScii字符。如果您知道想要UTF-8,那么明确提供它总是一个好主意:

with open(filename, encoding='utf-8', mode='w') as file:
    file.write(text)

使用with上下文管理器还确保没有文件句柄,以防万一您忘记关闭或在关闭句柄之前会引发异常。

相关内容

  • 没有找到相关文章

最新更新