add_subparsers
ライブラリのメソッドをargparse
使用し、キーワード引数を使用せずに、次の機能を取得したいと思いますnargs
。
$ python my_program.py scream Hello
You just screamed Hello!!
$ python my_program.py count ten
You just counted to ten.
私はこれができることを知っています:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("cmd", help="Execute a command", action="store",
nargs='*')
args = parser.parse_args()
args_list = args.cmd
if len(args.cmd) == 2:
if args.cmd[0] == "scream":
if args.cmd[1] == "Hello":
print "You just screamed Hello!!"
else:
print "You just screamed some other command!!"
elif args.cmd[0] == "count":
if args.cmd[1]:
print "You just counted to %s." % args.cmd[1]
else:
pass
else:
print "These two commands are undefined"
else:
print "These commands are undefined"
しかし、そうすると$ python my_program.py
、引数などのリストを表示するデフォルトのアーパーステキストが失われます。
複数の位置引数を処理できるライブラリのadd_subparsers
メソッドがあることは知っていますが、正しく機能させる方法が見つかりません。argparse
誰かが私にどのように見せてもらえますか?