2016-11-08 43 views
0

我使用argparse作为参数,我有一些argparse语句。我想在输出中的大写DELETE不应该打印或他们应该对齐。 在我的情况下,对于另一个argparse,大写单词不在一个列中对齐。arparse输出不对齐

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 
+0

在参数中添加空格以对齐大写单词。 – Sherry

回答

0

与您的参数,我得到:

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 

DELETEADD是metavars,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部分。