我使用python来创建我的项目设置设置,但我需要帮助获取命令行参数。如何访问Python中的命令行参数?
我想这在终端上:
$python myfile.py var1 var2 var3
在我的Python文件,我想用所输入的所有变量。
我使用python来创建我的项目设置设置,但我需要帮助获取命令行参数。如何访问Python中的命令行参数?
我想这在终端上:
$python myfile.py var1 var2 var3
在我的Python文件,我想用所输入的所有变量。
import sys
print(sys.argv)
更具体地说,如果您运行python example.py one two three
:
>>> import sys
>>> print(sys.argv)
['example.py', 'one', 'two', 'three']
坦克,但现在我需要把我的var1使用?这里发生了什么.. :) – ParisNakitaKejser 2010-10-27 13:46:31
Dooh,明白了(sys.argv [1]):D – ParisNakitaKejser 2010-10-27 13:50:20
import sys
sys.argv[1:]
会给你的参数(不包括Python文件的名称)
列表您可以使用sys.argv
将参数作为名单。
如果您需要访问单个元素,你可以使用
sys.argv[i]
其中i
是指数,0
会给你正在执行的蟒蛇文件名。之后的任何索引都是通过的参数。
Python代码:
import sys
# main
param_1= sys.argv[1]
param_2= sys.argv[2]
param_3= sys.argv[3]
print 'Params=', param_1, param_2, param_3
调用:
$python myfile.py var1 var2 var3
输出:
Params= var1 var2 var3
如果你这样称呼它:$ python myfile.py var1 var2 var3
import sys
var1 = sys.argv[1]
var2 = sys.argv[2]
var3 = sys.argv[3]
与数组类似,您也有sys.argv[0]
,它始终是当前的工作目录。
我能想到的一些额外的东西。
由于@allsyed说sys.argv给出了一个组件列表(包括程序名),所以如果你想知道通过命令行传递的元素的数量,你可以使用len()来确定它。基于此,如果用户未传递特定数量的参数,则可以设计异常/错误消息。
另外,如果你在寻找一个更好的方式来处理命令行参数,我建议你看看https://docs.python.org/2/howto/argparse.html
我强烈建议argparse这与Python 2.7和随后赶到。
这里一个小例子:
import argparse
parser = argparse.ArgumentParser("simple_example")
parser.add_argument("counter", help="An integer will be increased by 1 and printed.", type=int)
args = parser.parse_args()
print(args.counter + 1)
和输出python3 prog.py -h
usage: simple_example [-h] counter
positional arguments:
counter counter will be increased by 1 and printed.
optional arguments:
-h, --help show this help message and exit
和python3 prog.py 1
如你所愿:
2
面包师傅模块是一个伟大的工具编写Python命令行应用程序。 http://pypi.python.org/pypi/Baker/1.02 – 2010-10-27 20:02:40