使用decorators处理argparse
decopts的Python项目详细描述
安装
pip install decparse
用法
使用argeparse之前
importargparseparser=argparse.ArgumentParser(prog='foo',description='Print bar',add_help=True)parser.add_argument('--baz',action='store_true'help='Also print baz')args=parser.parse_arguments()print('bar')ifargs.baz:print('baz')
改为使用装饰
fromdecoptsimportentrypoint,option@entrypoint(prog='foo',description='Print bar',add_help=True)@option('--baz',action='store_true'help='Also print baz')defmain():print('bar')ifmain.args.baz:print('baz')main()
添加子命令
fromdecoptsimportentrypoint,option,action@entrypoint(prog='foo',description='Print something',add_help=True)defmain():return@action(main,'foo',description='Print foo')deffoo():print('foo')@action(main,'baz',description='Print baz')defbaz():print('baz')main()