Python argparse - 当bash特殊字符作为参数传递时,参数剥离

时间:2016-10-10 10:42:23

标签: python bash argparse

我使用argparse编写CLI工具。

以下是我的代码段:

parser.ArgumentParser()
parser.add_argument('--username')
parser.add_argument('--password')
args = parser.parse_args()
print(args.password)

我在Mac上运行脚本:

>>> prog.py --username xyz --password abc$xyz

输出:

>>> abc

我知道它的bash shell将'$ xyz'解释为bash变量并尝试替换'$ xyz'

有没有办法解决这个问题而不用引号括起来?

1 个答案:

答案 0 :(得分:0)

您可以在$prog.py --username xyz --password abc\$xyz前面添加反斜杠。

否则,不。你正确地发现这是bash,所以,当Python / argparse收到命令时,没有什么可以做的。