1
我想在Python脚本中处理不同的编码,更方便用户和自动魔法的方式(有针对utf8的API)。它是一个跨平台的控制台脚本。sys.stdout.encoding为None时该怎么办?
对于打印到stdout
我使用sys.stdout.encoding
它似乎几乎总是在打印到控制台时做正确的事情。然而,当标准输出为管道它变成None
。
因此,在这种情况下,我认为我是管道到一个文件中,并使用locale.getpreferredencoding()
但:
- 我不知道这是打印到文件正确的编码,但它的工作原理相当跨平台的。
- 当连接到程序
|
时不起作用。我不知道如果在这种情况下如果是标准或预期的行为,那么既不是这种情况。