Python参数不带$符号,如何实现这一点?

时间:2015-09-25 20:26:30

标签: python parsing arguments command-line-arguments

Python代码test.py

import sys
username = str(sys.argv[1])
password = str(sys.argv[2])
print username, password

执行#1:python test.py usr@gmail.com pa$$word

结果#1:usr@gmail.com, pa24481word

预期#1:usr@gmail.com, pa$$word

执行#2:python test.py usr@gmail.com $word@pass

结果#2:usr@gmail.com, @pass

预期#2:usr@gmail.com, $word@pass

我只想在我的代码中获得我传递给String的内容。

机器详细信息:OEL 6.6上的Python 2.6

如果有人可以帮助解决任何操作系统中的通用解决方案 - 那就太棒了!

1 个答案:

答案 0 :(得分:4)

这与Python无关。你的shell在将值传递给脚本之前解释了它; bash中的$引入了一个环境变量。

您必须用单引号括起参数以防止这种情况:

python test.py usr@gmail.com 'pa$$word'