使用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第三方库


热门话题
hbm中的java异常。xml   java如何扩展JavaDoc5.0标准doclet?   java将所有非字母数字更改为+   java如何使用JSP从URL获取参数   把java学校的程序员变成C或C++程序员有多难?   java使用HTML获取表内容   java在JPanel中使用repaint()方法而不删除已绘制的内容   rest如何在Java中动态映射同一父类的子对象列表   如果协议不是http或https,java如何解析URL?   java删除文本时如何在eclipse中隐藏建议框?   java代码名1 GPS跟踪器   java寻找骑士所有独特的可能动作   从一个管道到另一个进程的java InputStream仍然被阻塞   java在阶段后将子项添加到窗格。show()   java如何确保在子对象中调用超级方法?   java从json对象获取值   java使用多线程读取文件   java Struts 1.1+Hibernate 3.2集成