我在Python中编写代码,我应该使用命令行运行,当我调用脚本时,我应该给出一些参数,以便在代码中使用。我可以用什么来实现这个目标?如何从Python脚本访问命令行参数?
要运行脚本,将是这样的:
python myscript.py s1 s2 s4
其中s1
,s2
和s4
是,我会在我的代码中使用的参数。
我在Python中编写代码,我应该使用命令行运行,当我调用脚本时,我应该给出一些参数,以便在代码中使用。我可以用什么来实现这个目标?如何从Python脚本访问命令行参数?
要运行脚本,将是这样的:
python myscript.py s1 s2 s4
其中s1
,s2
和s4
是,我会在我的代码中使用的参数。
这是在题为"Argument Passing"的部分描述优秀的Python Tutorial。
退房:http://docs.python.org/library/argparse.html
Python有一个内置的参数解析器。
你可以试试:
import sys
print "file name:", sys.argv[0]
for i in range(1, len(sys.argv)):
print "param:\t", i, sys.argv[i]
这是怎样的一个常见问题。 sys
模块具有访问解释器详细信息的功能。其中一个属性sys.argv
是传递给interpreter
的命令行参数列表。 所以,当你从一个Python程序,它被解释执行访问sys.argv
,你会作为第一个参数的程序本身,然后的其他参数如下它在列表中从索引1开始
$ cat 1.py
import sys
print sys.argv
当我执行它。
$python 1.py 0
['1.py', '0']
@leo:如果你喜欢argparse比我更喜欢[道格·海尔曼的教程](http://www.doughellmann.com/PyMOTW/argparse/)上argparse。 – RanRag