特殊字符$无法从命令行python中读取

时间:2017-04-02 14:38:29

标签: python python-3.x special-characters command-line-arguments argparse

这是我的代码

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("echo")
args = parser.parse_args()
print args.echo

当我尝试从命令行传递带有$的文本时,它不会被删除。我试图通过在\符号之前添加$来逃避特殊字符,但仍然没有运气。这就是我运行代码的方式

python test.py Sample$how Sample 我在窗户上,我已经厌倦了使用\逃跑,但没有成功。

如何让我的代码采用$符号?

2 个答案:

答案 0 :(得分:2)

将@vds评论扩展到问题:

我敢打赌你正在使用Powershell(?)

在Powershell中,$how将扩展为(可能不存在的)变量how的值:

https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.core/about/about_quoting_rules

Python(或任何其他可执行文件)甚至看不到美元符号。

在变量周围添加单引号可以解决问题:

python test.py 'Sample$how'

答案 1 :(得分:1)

这些选项适用于bash:

$ python test.py 'Sample$how'
Sample$how
$ python test.py Sample\$how
Sample$how
$ python test.py "Sample\$how"
Sample$how