вывод arparse не выровнен

Я использую argparse для аргументов, у меня есть номера argparse операторов. I want in the output the capital DELETE should not be print or they should be aligned.
В моем случае для другого argparse прописные слова не выровнены в одном столбце.

   parser = argparse.ArgumentParser()
   parser.add_argument( '-del'    ,action='store'          ,dest='delete'       , help="Del a POX"
   parser.add_argument( '-a'    ,action='store'          ,dest='add'       , help="add a POX"
   return parser

   python myscript.h -h
   -del DELETE Del a POX
   -a     Add  add a POX

1 ответ

  1. С вашими параметрами я получаю:

    In [417]: parser=argparse.ArgumentParser()
    In [418]: a1=parser.add_argument('-del',dest='delete', help='help')
    In [419]: a2=parser.add_argument('-a',dest='add', help='help')
    In [420]: parser.print_help()
    usage: ipython3 [-h] [-del DELETE] [-a ADD]
    
    optional arguments:
      -h, --help   show this help message and exit
      -del DELETE  help
      -a ADD       help
    

    DELETEИ ADDявляются метаварами, standins для аргумента, который будет следовать за флагом. На обычном дисплее справки они следуют сразу за флагом -a ADD. Я не знаю, что производит дополнительное пространство в ‘- A Add’.

    Я бы настроил ваши аргументы с:

    In [421]: parser=argparse.ArgumentParser()
    In [422]: a1=parser.add_argument('-d','--delete', help='help')
    In [423]: a2=parser.add_argument('-a','--add', help='help')
    In [424]: parser.print_help()
    usage: ipython3 [-h] [-d DELETE] [-a ADD]
    
    optional arguments:
      -h, --help            show this help message and exit
      -d DELETE, --delete DELETE
                            help
      -a ADD, --add ADD     help
    

    И с metavarпараметром здесь пустая строка:

    In [425]: parser=argparse.ArgumentParser()
    In [426]: a1=parser.add_argument('-d','--delete', metavar='', help='help')
    In [427]: a2=parser.add_argument('-a','--add', metavar='', help='help')
    In [428]: parser.print_help()
    usage: ipython3 [-h] [-d] [-a]
    
    optional arguments:
      -h, --help      show this help message and exit
      -d , --delete   help
      -a , --add      help
    

    dest обычно выводится из первой --строки флага,но может быть задан явно. metavarпроисходит от dest— обычно верхний корпус-на самом деле я не знаю, что производит Addвместо ADD.

    Он выравнивает helpчасть линии, но не выравнивает часть matavar.