首页 > 解决方案 > 如何在 print() 语句中指定编码?

问题描述

如何在print()语句中指定编码?

标签: pythonpython-3.xstringencoding

解决方案


print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

print()调用file.write()file默认为sys.stdout. sys.stdout是一个文件对象,其write()方法根据其编码属性对字符串进行编码。如果您重新配置该属性,它将更改打印时字符串的编码方式:

sys.stdout.reconfigure(encoding='latin-1')

或者,您可以自己对字符串进行编码,然后将字节写入标准输出的底层二进制缓冲区

sys.stdout.buffer.write("<some text>".encode('latin-1'))

请注意这buffer不是公共属性:“这不是 TextIOBase API 的一部分,在某些实现中可能不存在。”


推荐阅读