1
我想在Python腳本中處理不同的編碼,更方便用戶和自動魔法的方式(有針對utf8的API)。它是一個跨平臺的控制檯腳本。sys.stdout.encoding爲None時該怎麼辦?
對於打印到stdout
我使用sys.stdout.encoding
它似乎幾乎總是在打印到控制檯時做正確的事情。然而,當標準輸出爲管道它變成None
。
因此,在這種情況下,我認爲我是管道到一個文件中,並使用locale.getpreferredencoding()
但:
- 我不知道這是打印到文件正確的編碼,但它的工作原理相當跨平臺的。
- 當連接到程序
|
時不起作用。我不知道如果在這種情況下如果是標準或預期的行爲,那麼既不是這種情況。