自动创建路径的分析器和子分析器的分析器。
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
=
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
"
这确实很酷!
:param str target:执行酷内容的目标
:param bool force:强制执行酷内容
"
打印(目标,强制)
cli=mycli()
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
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