在 Python 2 中,使用 sys.stdout = codecs.getwriter("utf- 8")(系统标准输出)。然而,在Python 3中,这种技术失败了,因为sys.stdout.write()需要一个字符串,而编码的结果是字节。
对于Python 3.7之后,可以使用 reconfigure() 方法修改标准流的编码,包括 sys.stdout。
sys.stdout.reconfigure(encoding='utf-8')
这会将 sys.stdout 的编码设置为 UTF-8,允许您输出该编码中的字符。
# Example sys.stdout.reconfigure(encoding='utf-8') print("Hello World") # Output: Hello World
您还可以通过向 reconfigure() 添加错误参数来指定如何处理编码错误。以下示例展示了如何使用替换策略处理错误:
sys.stdout.reconfigure(encoding='utf-8', errors='replace')
使用此设置,任何无法编码的 Unicode 字符都将被替换为特定的替换字符(通常是问号)。
以上是如何更改 Python 3 中的输出编码?的详细内容。更多信息请关注PHP中文网其他相关文章!