0

私は、ファイルシステム上のファイルから値を取得し、ユーザーがそれらをフォーマットして印刷できるようにする非常に単純なプログラムを持っています。スクリプトの平均的な呼び出しは次のようになります。

get-amazing-temperature -c 0 --format "%.2f"

formatスクリプトのユーザーが巧妙で創造的な方法で数値をフォーマットできるように、その引数を使用して値をフォーマットします。もちろん、問題は、度(U + 00B0)記号を使用したカスタム形式が必要な場合に発生します。

argparseボンネットの下で使用しています。私がこのようなことを試みるとき:

get-amazing-temperature -c 0 --format '%.2f\u00B0'

...文字列リテラルが出力されます:

36\u00B0

コマンドライン引数でUnicodeリテラルを許可するにはどうすればよいですか?このスクリプトはLinux/Unixマシンでのみ実行します。

4

1 に答える 1

2

フォーマット文字列を含む引数を処理するときは、「unicode-escape」コーデックを使用してデコードできます。これにより、Unicodeエスケープが対応する文字に変換されます。

>>> print x
%.2f\u00B0
>>> print x.decode('unicode-escape')
%.2f°
于 2012-12-06T06:21:11.233 に答える