我有一个相当简单的程序,它从文件系统上的文件中获取值,并允许用户格式化它们并打印它们。脚本的平均调用如下所示:
get-amazing-temperature -c 0 --format "%.2f"
我使用format
参数格式化值,以便脚本用户可以巧妙,创造性地格式化数字。当然,当他们想要具有度数(U + 00B0)符号的自定义格式时,问题就出现了。
我在引擎盖下使用argparse
。当我尝试这样的事情时:
get-amazing-temperature -c 0 --format '%.2f\u00B0'
...打印字符串文字:
36\u00B0
如何在命令行参数中允许使用unicode文字?我只会在Linux / Unix机器上运行这个脚本。
答案 0 :(得分:2)
处理包含格式字符串的参数时,可以使用“unicode-escape”编解码器对其进行解码。这会将unicode转义符转换为相应的字符:
>>> print x
%.2f\u00B0
>>> print x.decode('unicode-escape')
%.2f°