def function1(param1): 返回var1 def function2(param1): 返回var2 def function3(param1): return var3
我想从windows命令执行脚本first_code.py并传递param1的值,以便:执行所有函数或者如果我想执行特定函数,请说function2。
我该怎么做?
答案 0 :(得分:1)
您在命令行中指定的参数保留在sys.argv中 你应该在代码的底部添加以下行:
print function1(sys.argv[1])
print function2(sys.argv[1])
print function3(sys.argv[1])
请注意sys.argv [0]是脚本名称。
如果要指定要运行的功能,请添加更多参数,它们将位于sys.argv[2]
,sys.argv[3]
等'
答案 1 :(得分:1)
您可以使用类似这样的方法来更通用地调用带有0- *参数的函数:
if __name__ == '__main__':
print (len(sys.argv))
params = []
if len(sys.argv) > 2:
for x in range(2, len(sys.argv)):
params.append(sys.argv[x])
if len(params) > 0:
globals()[sys.argv[1]](*params)
else:
globals()[sys.argv[1]]()
如果脚本“ getstuff.py”包含名为“ getSomething(forWho,fromWho)”的函数,
可以叫做:
python getstuff.py getsomething“雷”“史蒂夫”
可以根据需要选择任意数量的参数。
只需在您的脚本中包含摘要即可。:>)