Python 3 で sys.stdout のエンコーディングを設定する方法は?
2023-09-04 08:24:42
質問
Python 2でデフォルトの出力エンコーディングを設定することは、よく知られたイディオムです。
sys.stdout = codecs.getwriter("utf-8")(sys.stdout)
これは
sys.stdout
オブジェクトを、出力を UTF-8 でエンコードするコーデックライターでラップします。
しかし、このテクニックはPython 3では動作しません。
sys.stdout.write()
は
str
を期待しますが、エンコーディングの結果は
bytes
となり、エラーが発生します。
codecs
がエンコードされたバイトを元の
sys.stdout
.
Python 3でこれを行うには、どのような方法が正しいですか?
どのように解決するのですか?
Python 3.7以降では、標準ストリームのエンコーディングは
reconfigure()
:
sys.stdout.reconfigure(encoding='utf-8')
また、エンコーディング・エラーの処理方法を変更するために
errors
パラメータを追加することによっても変更できます。
関連
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] subprocess.run()の出力を抑制またはキャプチャするには?
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonでSVGからPNGに変換する
-
[解決済み] バブルソートの宿題
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] subprocess.run()の出力を抑制またはキャプチャするには?
-
[解決済み] Pythonの文字列書式をリストで使う
-
[解決済み] 新しいpip backtrackingの実行時問題の解決
-
[解決済み] データクラスとtyping.NamedTupleの主な使用例
-
[解決済み] 認証プラグイン 'caching_sha2_password' はサポートされていません。
-
[解決済み] ファイルへのリダイレクト時にUnicodeDecodeErrorが発生する。