【问题标题】:Python: display order of in input arguments with argparsePython:使用argparse显示输入参数的顺序
【发布时间】:2013-03-30 15:49:44
【问题描述】:

在 Python 中,使用argparse,当使用-h 调用脚本时,有没有办法直接指定参数在屏幕上显示的顺序?

更具体地说,我想在 其他一些参数之后显示一些参数。

【问题讨论】:

    标签: python arguments argparse


    【解决方案1】:

    我相信顺序是您add_argument(对于每个组)的顺序,因为它们在内部存储在一个列表中。

    例如:

    import argparse
    
    args = ('foo','bar','baz','qux')
    
    #This is not the order the get printed in, so it's not using a dict...
    print (set(args))  
    
    parser = argparse.ArgumentParser()
    for x in args:
        parser.add_argument('--{0}'.format(x),help=x)
    
    parser.parse_args(['-h'])
    

    结果:

    set(['baz', 'foo', 'bar', 'qux'])
    usage: test.py [-h] [--foo FOO] [--bar BAR] [--baz BAZ] [--qux QUX]
    
    optional arguments:
      -h, --help  show this help message and exit
      --foo FOO   foo
      --bar BAR   bar
      --baz BAZ   baz
      --qux QUX   qux
    

    当然,欢迎不同的python实现在他们认为合适的时候重新实现argparse,但由于它是纯python,我认为他们没有任何理由重新发明轮子。

    【讨论】:

    • 是的。我很快假设参数是按字母顺序排序的,但正如你所说,它们实际上是按照它们在代码中出现的顺序显示的。
    猜你喜欢
    • 2017-02-24
    • 2012-02-20
    • 2013-07-02
    • 2020-10-12
    • 2015-07-25
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    相关资源
    最近更新 更多