如何";跳过“;基于参数值的多功能python脚本中的单个函数

如何";跳过“;基于参数值的多功能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

我正在处理一个MS batch(***.bat)包装器,它调用一个当前有5个参数值的python脚本

我想将sys.argv(6)馈送到python脚本中,以便有选择地“跳过”其中的某个函数

用批处理语言来说,如果%6=yes goto:function2 else goto:function1样式,我想绕过
中的子例程,只是它不是批处理而是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()
有关更多信息,请访问