次の方法で使用できるプログラムがあります。
program install -a arg -b arg
program list
program update
install指定された位置引数 ( 、listまたは)の 1 つだけが存在できますupdate。installそして、シナリオには他の引数しかありません。
argparse のドキュメントは少し複雑で、これを正しく行う方法を理解するのに苦労しています。私add_argumentのはどのように見えるべきですか?
次の方法で使用できるプログラムがあります。
program install -a arg -b arg
program list
program update
install指定された位置引数 ( 、listまたは)の 1 つだけが存在できますupdate。installそして、シナリオには他の引数しかありません。
argparse のドキュメントは少し複雑で、これを正しく行う方法を理解するのに苦労しています。私add_argumentのはどのように見えるべきですか?
subparserこれはsを使いたいようです。
from argparse import ArgumentParser
parser = ArgumentParser()
subparsers = parser.add_subparsers()
install = subparsers.add_parser('install')
install.add_argument('-b')
install.add_argument('-a')
install.set_defaults(subparser='install')
lst = subparsers.add_parser('list')
lst.set_defaults(subparser='list')
update = subparsers.add_parser('update')
update.set_defaults(subparser='update')
print parser.parse_args()
ドキュメントに記載されているように、set_defaultsどのサブパーサーが呼び出されたかを知ることができるように組み合わせました。