2012-08-22 67 views
0

我在Python中编写代码,我应该使用命令行运行,当我调用脚本时,我应该给出一些参数,以便在代码中使用。我可以用什么来实现这个目标?如何从Python脚本访问命令行参数?

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

python myscript.py s1 s2 s4 

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

回答

6

快速肮脏的方式

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

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

更多的灵活性,你可以使用argparse模块

+0

@leo:如果你喜欢argparse比我更喜欢[道格·海尔曼的教程](http://www.doughellmann.com/PyMOTW/argparse/)上argparse。 – RanRag

1

你可以试试:

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

这是怎样的一个常见问题。 sys模块具有访问解释器详细信息的功能。其中一个属性sys.argv是传递给interpreter的命令行参数列表。 所以,当你从一个Python程序,它被解释执行访问sys.argv,你会作为第一个参数的程序本身,然后的其他参数如下它在列表中从索引1开始

$ cat 1.py 
import sys 
print sys.argv 

当我执行它。

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