使用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()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ws-consumer服务地址中的java动态属性   java如何比较整数列表,然后按升序排序?   javascript我正在使用java脚本调用一个函数,但它没有调用代码下面的方法,也没有调用secretitnames()函数   在文本窗格中多次使用Java insertIcon图标   JavaMSAL安卓。AuthenticationActivity完成,但用于身份验证请求的线程池线程仍处于等待状态   if语句中的java多范围比较   java toString()表示输出   java如何在jcstrest测试中生成指令重新排序   java我怎样才能运行它?   web应用程序中使用Hibernate和Spring的java问题   如何将字符串数据写入Java文本文件   如何在java命令提示符下运行已签名的jar文件?   java从我的菜单调用RCP应用程序   java如何等待Canvas/GraphicsContext完成任务,然后再继续执行代码块?