Pythonでstdoutを配管するときに正しいエンコーディングを設定する

| | | | |

Pythonプログラムの出力をパイプ処理すると、Pythonインタープリターはエンコードについて混乱し、Noneに設定します。これは、次のようなプログラムを意味します。

 #-*-コーディング:utf-8-*-printu"√•√§√∂" 

正常に実行すると正常に動作しますが、次の場合に失敗します:

UnicodeEncodeError: "ascii" codec can "t encode character u" xa0" in position 0:ordinal not in range(128)

パイプシーケンスで使用する場合。

これをパイプシーケンスで機能させるための最良の方法は何ですか?シェル/ファイルシステム/その他のエンコーディングを使用するように指示できますか?

これまでに見た提案は、site.pyを直接変更するか、このハックを使用してdefaultencodingをハードコーディングすることです。

 #-*-コーディング:utf -8-*-import sys reload(sys)sys.setdefaultencoding( "utf-8")printu"√•√§√∂" 

配管を作成するためのより良い方法はありますか動作しますか?

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method