0

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

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

python myscript.py s1 s2 s4

where s1, s2ands4将是我将在我的代码中使用的参数。

4

5 回答 5

6

快速肮脏的方式

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

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

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

于 2012-08-22T07:23:28.003 回答
4

查看:http ://docs.python.org/library/argparse.html

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

于 2012-08-22T07:24:38.500 回答
1

这在优秀的Python 教程中标题为“参数传递”的部分中进行了描述。

于 2012-08-22T07:24:01.747 回答
1

你可以试试:

import sys
print "file name:", sys.argv[0]
for i in range(1, len(sys.argv)):
    print "param:\t", i, sys.argv[i]
于 2012-08-22T07:25:01.770 回答
0

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

$ cat 1.py 
import sys
print sys.argv

当我执行它时。

$python 1.py 0
['1.py', '0']
于 2012-08-22T07:30:48.390 回答