我使用python创建我的项目设置设置,但我需要帮助获取命令行参数。

我在终端上试了一下:

$python myfile.py var1 var2 var3

在我的Python文件中,我想使用所有输入变量。


当前回答

使用下面的代码,可以检查是否输入了参数。如果是这样,则打印参数;否则,将打印一条声明未输入参数的消息。

import sys

if len(sys.args) <= 1:
   print("the arguments are not entered in the command line")
else:
   for arg in args:
      print(arg)

其他回答

Python教程解释它:

import sys

print(sys.argv)

更具体地说,如果运行python example.py one two three:

>>> import sys
>>> print(sys.argv)
['example.py', 'one', 'two', 'three']

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 

我还能想到一些其他的东西。

正如@allsyed所说的sys。Argv给出了一个组件列表(包括程序名),所以如果你想知道通过命令行传递的元素的数量,可以使用len()来确定它。基于此,如果用户没有传递特定数量的参数,您可以设计异常/错误消息。

另外,如果您正在寻找处理命令行参数的更好方法,我建议您查看https://docs.python.org/2/howto/argparse.html

仅获取命令行参数

(不包括Python文件的名称)

import sys

sys.argv[1:]

[1:]是从第二个元素(索引1)开始的切片,一直到参数列表的末尾。这是因为第一个元素是Python文件的名称,我们想要删除它。

首先,您需要导入sys

sys -系统相关参数和功能

这个模块提供了对解释器使用和维护的某些变量的访问,以及对与解释器强交互的函数的访问。此模块仍然可用。我将编辑这篇文章,以防这个模块不再工作。

然后,你可以打印参数的数量或者你想要的,参数列表。

按照下面的脚本执行:

#!/usr/bin/python

import sys

print 'Number of arguments entered :' len(sys.argv)

print 'Your argument list :' str(sys.argv)

然后,运行python脚本:

$ python arguments_List.py chocolate milk hot_Chocolate

你会得到你想要的结果

Number of arguments entered : 4
Your argument list : ['arguments_List.py', 'chocolate', 'milk', 'hot_Chocolate']

希望这能帮到别人。