7

の優れたサブパーサー システムを使用argparseして、さまざまなコマンドを受け入れるコマンド ライン プログラムを作成しています。私が読んだところにargparseよると、引数が明確な場合、引数の単一文字の省略形を自動的に受け入れます。サブパーサーに対しても同じことをさせたいです。サブパーサーを次のように設定した場合:

    foo_parser = subparsers.add_parser('foo')
    # ... set up arguments and handler ...

    bar_parser = subparsers.add_parser('bar')
    # ... set up arguments and handler ...

myprogram f arg0次に、パーサーにの明確な省略形として受け入れてもらいたいと思いmyprogram foo arg0ます。しかし、そうではありません。

何か案は?

4

1 に答える 1

13

argparse のドキュメントから、サブパーサーの自動省略形をサポートするかどうかは明確ではありませんが、次のようにエイリアスを明示的に設定できます。

foo_parser = subparsers.add_parser('foo', aliases=['f'])

一方、引数の省略形はサポートされています。

于 2012-11-28T16:24:36.117 に答える