ホームページ  >  記事  >  バックエンド開発  >  Python 3 で出力エンコーディングを変更するには?

Python 3 で出力エンコーディングを変更するには?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-13 10:48:02348ブラウズ

How to Change the Output Encoding in Python 3?

Python 3 での出力エンコーディングの変更

Python 2 では、デフォルトの出力エンコーディングの設定は、sys.stdout = codecs.getwriter("utf- 8")(sys.stdout)。ただし、Python 3 では、sys.stdout.write() は文字列を想定しているのに対し、エンコードの結果はバイトであるため、この手法は失敗します。

Python 3.7 以降の解決策

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。