Python 子parser函数调用

Python 子parser函数调用,python,argparse,subparsers,Python,Argparse,Subparsers,如何根据用户输入调用以下函数 例如,如果他们键入: python test.py cmd1-n主机名 它将调用def cmd1并将-n参数(主机名)传递给函数 import argparse def cmd1(node): print('cmd1') def cmd1_option1(): print('cmd2') def cmd1_option1(template): print('cmd3') parser = argparse.ArgumentParser() s

如何根据用户输入调用以下函数

例如,如果他们键入:

python test.py cmd1-n主机名

  • 它将调用def cmd1并将-n参数(主机名)传递给函数

    import argparse
    
    def cmd1(node):
      print('cmd1')
    
    def cmd1_option1():
      print('cmd2')
    
    def cmd1_option1(template):
      print('cmd3')
    
    
    parser = argparse.ArgumentParser()
    subparsers = parser.add_subparsers(help='Functions')
    command_1 = subparsers.add_parser('cmd1', help='...')
    command_1.add_argument('-n', "--node", type=str, help='...')
    
    command_2 = subparsers.add_parser('cmd2', help='...')
    
    command_3 = subparsers.add_parser('cmd3', help='...')
    command_3.add_argument('-t', "--template", type=int, help='...')
    
    args = parser.parse_args()
    

查看最近的SO或在
add_subparsers
调用中添加
dest='cmd'
,并检查
args.cmd
以获得适当的字符串值。