Python 2 では、デフォルトの出力エンコーディングの設定は、sys.stdout = codecs.getwriter("utf- 8")(sys.stdout)。ただし、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 中国語 Web サイトの他の関連記事を参照してください。