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

标签 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 机器上运行这个脚本。

最佳答案

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

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

关于python - 允许输入 Unicode 转义作为命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13737944/

相关文章:

python - 在 Python 的同一进程中捕获标准输出

Python:numpy数组大于和小于一个值

python - 图像去噪分割图

linux如何获取最深的子文件夹?

python - 转换 unicode 表情符号的字符串

python - 如何完全重置请求?

linux - 是由 xlib 实现的剪贴板还是由单独的应用程序实现

linux - 加载共享库时出错 : libsigc-2. 0.so 与 libsigc-2.0.so.0

unicode - 所有浏览器都支持 Unicode 字体有什么标准吗?

python - 在一定范围内生成随机Unicode