如何";跳过“;基于参数值的多功能python脚本中的单个函数
我正在处理一个MS batch(***.bat)包装器,它调用一个当前有5个参数值的python脚本 我想将sys.argv(6)馈送到python脚本中,以便有选择地“跳过”其中的某个函数 用批处理语言来说,如果%6=yes goto:function2 else goto:function1样式,我想绕过如何";跳过“;基于参数值的多功能python脚本中的单个函数,python,batch-file,cmd,subroutine,goto,Python,Batch File,Cmd,Subroutine,Goto,我正在处理一个MS batch(***.bat)包装器,它调用一个当前有5个参数值的python脚本 我想将sys.argv(6)馈送到python脚本中,以便有选择地“跳过”其中的某个函数 用批处理语言来说,如果%6=yes goto:function2 else goto:function1样式,我想绕过中的子例程,只是它不是批处理而是python 非常感谢您的任何意见 提前谢谢 将参数传递给脚本,例如在bat文件中: python myscript.py %6 然后在myscript.p
中的子例程,只是它不是批处理而是python
非常感谢您的任何意见
提前谢谢 将参数传递给脚本,例如在bat文件中:
python myscript.py %6
然后在myscript.py
中:
import sys
def function1():
pass
def function2():
pass
if __name__ == "__main__":
if len(sys.argv) > 1 and sys.argv[1] == 'yes':
function2()
else:
function1()
最好开始使用pythonargparser。它提供了许多功能、帮助和说明:
sample.py:
import argparse
def function1():
print("Function 1")
def function2():
print("Function 2")
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='<Program Description>')
parser.add_argument('-f1', help='Execute function1', default=False, action="store_true")
parser.add_argument('-f2', help='Execute function2', default=False, action="store_true")
args = parser.parse_args()
if args.f1:
function1()
elif args.f2:
function2()
else:
print("Please specify the arguments. Use \"python sample.py -h\" for help")
#For function1:
python3 sample.py -f1
#For function2:
python3 sample.py -f2
#For help:
python3 sample.py -h
编辑:针对您的问题:
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='<Program Description>')
parser.add_argument('-e', '--exec', help="Exec Parameter", required=True)
args = vars(parser.parse_args())
if str(args['exec']).__eq__('yes'):
function1()
else:
function2()
如果uuuu name_uuuu=='\uuuuuuu main\uuuuuu':
parser=argparse.ArgumentParser(description='')
parser.add_参数('-e','-exec',help=“exec Parameter”,required=True)
args=vars(parser.parse_args())
如果str(args['exec'])。\uuuuu eq\uuuu('yes'):
职能1()
其他:
职能2()
有关更多信息,请访问