自动创建路径的分析器和子分析器的分析器。

argparse-autogen的Python项目详细描述


argparparparse autogen
=









pypi codecoov

巨蟒:**``3.3+``**(因为在python 3.3中引入了inspect.signature)代码::shell

pip install argparse autogen

usage
----

``argparse\u autogen.endpointparser``用于替换basic
``argparse.argumentparser```。它扩展了子parers的创建逻辑,并添加了一个新的特殊方法"add_endpoint"。

代码::python


def do_stuff(self,target,force=false):
"
这确实很酷!

:param str target:执行酷内容的目标
:param bool force:强制执行酷内容
"
打印(目标,强制)

cli=mycli()

parser.add_endpoint('do_stuff,cli.do_stuff)
parser.parse_and_call(['do_stuff','my target'])这将打印"my target false"
parser.parse_and_call(['do_stuff','--force','my target'])这将打印"my target true"

`` add_endpoint`方法足够聪明,可以解析方法docstring和
add对应有助于参数。例如,在上面的示例中,
`` parser.parse_args(['do_stuff','--help']``将显示
类似于

::


用法:example.py do_stuff[-h][--force]



可选参数:
-h,--帮助显示此帮助消息并退出
--强制执行酷操作

它检查函数签名,并向解析器添加相应的argparse参数。``**kwargs``受支持,可以作为
```[key=value[key=value…]``传递。可以通过
将"argument-overrides"选项传递到"add-endpoint"来覆盖参数设置。这必须是
a``dict[str,dict]``其中键是参数名,值是
参数,用于覆盖传递给``parser的默认值。添加参数```


>更多端点示例
-



嵌套类和复杂路径:

。代码::python


class mycli():
def_u init_u(self):
self.users=self.users()
self.groups=self.groups()

class users():
def get(self,user_id):pass
def list(self,**filter):pass
def set_roles(self,user_id,*role):pass
def update(self,user_id,**fields):pass


def get(self,group_id):pass



parser。add戋endpoint('users.get',cli.users.get,argument戋overrides={'user戋id':{'help':'users id'})
parser.add戋endpoint('users.list',cli users.list)
parser.add戋endpoint(cli.users.update)
Erscores已删除。
将跳过QualName的第一项,因此它将是"users.update",而不是"mycli.users.update"

;或者,可以使用路径和终结点的自动生成:
parser.generate戥endpoints(cli.users,root戥path戥users',endpoint戥kwargs={users.get':{参数覆盖':{用户id':{帮助':'用户id'}}})
将从类方法创建终结点。


groups\'u get\'u parser=parser.add\'u endpoint('groups get',cli.groups.get,autospec=false)
groups\'u get\'u parser.add\'u参数('group\'id',help='group id')

users_分析器=PArser.get懔endpoint懔parser('users')
users懔parser.description='用户操作'


parser.parse懔and懔call()


history
----



-能够从func的qualname自动生成路径

1.1(2017-02-28)<~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~






~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~>。| pypi图像::https://img.shields.io/pypi/status/argparse autogen.svg
:目标:https://github.com/sashgorokhov/argparse autogen
…| pypi image::https://img.shields.io/pypi/pyversions/argparse autogen.svg
:目标:https://github.com/sashgorokhov/argparse autogen
。| pypi版本image::https://badge.fury.io/py/argparse autogen.svg
:目标:https://badge.fury.io/py/argparse autogen
…| github release image::https://img.shields.io/github/release/sashgorokhov/argparse autogen.svg
:目标:https://github.com/sashgorokhov/argparse autogen
。|构建状态图像::https://travis-ci.org/sashgorokhov/argparse-autogen.svg?branch=master
:目标:https://travis ci.org/sashgorokhov/argparse autogen
…| codecov图像::https://codecov.io/gh/sashgorokhov/argparse autogen/branch/master/graph/badge.svg
:目标:https://codecov.io/gh/sashgorokhov/argparse autogen
。| Github许可证图像::https://img.shields.io/badge/license mit blue.svg
:目标:https://raw.githubusercontent.com/sashgorokhov/argparse-autogen/master/license

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

推荐PyPI第三方库


热门话题
java如何从数组中打印int值?   prepared语句Java中奇怪的异常PreparedStatement:参数索引超出范围   封装如何在OOP Java中为主方法编码?   java某些手机显示快捷方式徽章需要什么权限?   java TextView不会随OnItemSelectedListener更改   java注释处理器不会自动触发吗?   java Spring JPA如何计算外键数   c#对于这个简单的OOAD问题,哪种设计最优雅?   java如何处理while循环中的异常?   Android Studio错误:进程'command'/home/draven/Downloads/安卓studio/jre/bin/java''结束,退出值为非零2   在使用Payara服务器的Vaadin应用程序中导航到根目录时,java将丢失上下文根目录   使用contentType application/json而不是application/jsonpatch+json的java修补程序   带有tomcat的java HAproxy连接不足   Java:在应用过滤器后创建一个简单的通用方法进行计数   java如何使用多态性创建一个实例化对象的方法,然后用它们高效地填充ArrayList?