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 回答