允许输入Unicode转义作为命令行参数

时间:2012-12-06 06:11:10

标签: python linux unicode

我有一个相当简单的程序,它从文件系统上的文件中获取值,并允许用户格式化它们并打印它们。脚本的平均调用如下所示:

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

我使用format参数格式化值,以便脚本用户可以巧妙,创造性地格式化数字。当然,当他们想要具有度数(U + 00B0)符号的自定义格式时,问题就出现了。

我在引擎盖下使用argparse。当我尝试这样的事情时:

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

...打印字符串文字:

36\u00B0

如何在命令行参数中允许使用unicode文字?我只会在Linux / Unix机器上运行这个脚本。

1 个答案:

答案 0 :(得分:2)

处理包含格式字符串的参数时,可以使用“unicode-escape”编解码器对其进行解码。这会将unicode转义符转换为相应的字符:

>>> print x
%.2f\u00B0
>>> print x.decode('unicode-escape')
%.2f°