我使用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'
有没有办法解决这个问题而不用引号括起来?
答案 0 :(得分:0)
您可以在$
:prog.py --username xyz --password abc\$xyz
前面添加反斜杠。
否则,不。你正确地发现这是bash,所以,当Python / argparse收到命令时,没有什么可以做的。