我使用python来创建我的项目设置设置,但我需要帮助获取命令行参数。
我在终端试了这个:
$python myfile.py var1 var2 var3
在我的Python文件中,我想使用所有输入的变量。
#1楼
您可以使用sys.argv
将参数作为列表获取。
如果您需要访问单个元素,则可以使用
sys.argv[i]
其中i
是索引, 0
将为您提供正在执行的python文件名。 之后的任何索引都是传递的参数。
#2楼
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
#3楼
如果你这样称它: $ python myfile.py var1 var2 var3
import sys
var1 = sys.argv[1]
var2 = sys.argv[2]
var3 = sys.argv[3]
与数组类似,您也有sys.argv[0]
,它始终是当前的工作目录。
#4楼
我能想到的其他一些事情。
正如@allsyed所说,sys.argv给出了一个组件列表(包括程序名称),所以如果你想知道通过命令行传递的元素数量,你可以使用len()来确定它。 基于此,如果用户未传递特定数量的参数,您可以设计异常/错误消息。
另外,如果您正在寻找更好的方法来处理命令行参数,我建议您查看https://docs.python.org/2/howto/argparse.html
#5楼
import sys
print(sys.argv)
更具体地说,如果你运行python example.py one two three
:
>>> import sys
>>> print(sys.argv)
['example.py', 'one', 'two', 'three']
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3207772