我使用python创建我的项目设置设置,但我需要帮助获取命令行参数。
我在终端上试了一下:
$python myfile.py var1 var2 var3
在我的Python文件中,我想使用所有输入变量。
我使用python创建我的项目设置设置,但我需要帮助获取命令行参数。
我在终端上试了一下:
$python myfile.py var1 var2 var3
在我的Python文件中,我想使用所有输入变量。
当前回答
如果你像这样调用它:$ python myfile.py var1 var2 var3
import sys
var1 = sys.argv[1]
var2 = sys.argv[2]
var3 = sys.argv[3]
与数组类似,还有sys。Argv[0],它总是当前工作目录。
其他回答
使用下面的代码,可以检查是否输入了参数。如果是这样,则打印参数;否则,将打印一条声明未输入参数的消息。
import sys
if len(sys.args) <= 1:
print("the arguments are not entered in the command line")
else:
for arg in args:
print(arg)
首先,您需要导入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']
希望这能帮到别人。
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 2.7及更高版本附带的argparse。
argparse模块减少了样板代码,并使代码更加健壮,因为该模块处理所有标准用例(包括子命令),为您生成帮助和用法,检查和清除用户输入—所有您在使用sys时必须担心的事情。argv的方法。而且它是免费的(内置的)。
这里有一个小例子:
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)
以及python 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
和python prog.py的输出。
2
Python教程解释它:
import sys
print(sys.argv)
更具体地说,如果运行python example.py one two three:
>>> import sys
>>> print(sys.argv)
['example.py', 'one', 'two', 'three']