如何传递命令行参数?

26

我对这个程序没有得到期望的输出:

from sys import argv

script, first, second, third = argv

print ("The script is called:", script)
print ("Your first variable is:", first)
print ("Your second variable is:", second)
print ("Your third variable is:", third)

如何使用CMD传递这些参数?
1个回答

32
你可以这样调用它:
python program.py a1 b2 c3

并且它会输出

The script is called: /home/sophia/program.py
Your first variable is: a1
Your second variable is: b2
Your third variable is: c3

sys.argv 包含字符串列表,每个字符串对应于一个命令行参数。第一个参数总是脚本的文件名,其他的是可选参数,按照在 shell 中输入的顺序排序。

请注意,你提供的代码仅在传递了正好三个参数时才能正确运行,这是由于元组解包的原因。

如果你要编写处理大量参数的程序,请参阅 sys.argvargparse 模块文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接