1

Python では、 を使用してargparse、スクリプトを呼び出すときに引数が画面に表示される順序を直接指定する方法はあります-hか?

より具体的には、いくつかの引数の後にいくつかの引数を表示したいと思います。

4

1 に答える 1

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 であるため、車輪を再発明する理由は見当たりません。

于 2013-04-08T14:09:47.667 に答える