Вызовы подпарасера - PullRequest
0 голосов
/ 03 июля 2018

Как вызвать нижеуказанные функции в зависимости от пользовательского ввода?

Например, если они набирают:

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()
    
...