如何从Python脚本访问命令行参数?

时间:2012-08-22 07:20:53

标签: python command-line-arguments

我在Python中编写代码,我应该使用命令行运行,当我调用脚本时,我应该提供一些我将在代码中使用的参数。我可以用什么来实现这一目标?

要运行脚本,它将是这样的:

python myscript.py s1 s2 s4

其中s1s2s4将是我在代码中使用的参数。

5 个答案:

答案 0 :(得分:6)

快速脏话

import sys
s1, s2, s4 = sys.argv[1:4]

sys.argv[0]是脚本的名称)

为了获得更大的灵活性,您可以使用argparse模块

答案 1 :(得分:4)

退房:http://docs.python.org/library/argparse.html

Python有一个内置的参数解析器。

答案 2 :(得分:1)

这在优秀的"Argument Passing"中标题为Python Tutorial的部分中进行了描述。

答案 3 :(得分:1)

你可以尝试:

import sys
print "file name:", sys.argv[0]
for i in range(1, len(sys.argv)):
    print "param:\t", i, sys.argv[i]

答案 4 :(得分:0)

这是一种常见问题解答。 sys模块具有访问解释器详细信息的功能。其中一个属性sys.argv是传递给interpreter的命令行参数列表。 因此,当您从解释程序执行的python程序访问sys.argv时,您将程序本身作为第一个参数,然后从索引1开始在列表中跟随它的其余参数。

$ cat 1.py 
import sys
print sys.argv

当我执行它时。

$python 1.py 0
['1.py', '0']