7

Python のargparseモジュールを使用parse_known_args()すると、パーサーに認識されている引数のみを解析するために使用でき、追加の引数は個別に返されます。

ただし、この事実は使用法/ヘルプ文字列には示されていません。もちろんdescription、パーサーのフィールドに入れることもできますが、それを使用法行に含める良い方法がないかどうか疑問に思います。

私が探しているのは、usage: test [-h] ...代わりに eg の出力ですusage: test [-h]

4

2 に答える 2

3

format_usage()とArgumentParser属性の組み合わせでこれを行うことができると思いますusage。このセクションでは、コンストラクターへのキーワード引数として使用法を示していますが、ソースを調べるusageと、構築後に。としてアクセスできることがわかりますparser.usage

最終的な解決策は次のようになると思います。

parser = argparse.ArgumentParser()
# Add arguments...
usage = parser.format_usage()
parser.usage = usage.rstrip() + ' ...\n'
于 2012-07-26T22:45:17.400 に答える
3

parse_known_args()これは、プログラムを作成するプログラマーの便宜のためであり、プログラムのユーザーが心配する必要があるものではありません。コマンドライン引数を適切に定義すると、argparse自動的に同様のものが得られます。

>>> import argparse
>>> p = argparse.ArgumentParser(prog='command')
>>> x=p.add_argument("foo", nargs=argparse.REMAINDER)
>>> p.parse_args(["--help"])
usage: command [-h] ...

positional arguments:
  foo

optional arguments:
  -h, --help  show this help message and exit
于 2012-07-27T01:02:39.743 に答える