从函数自动创建argparser
项目描述
概述
argparser的包装器,用于帮助从函数构建命令行界面。广泛使用类型提示 :snake:。
设置
:齿轮: 安装
直接安装到已激活的虚拟环境
$ pip install arger
:书籍: 使用
- 创建一个名为test.py的Python文件
from arger import Arger
def main(param1: int, param2: str, kw1=None, kw2=False):
    """Example function with types documented in the docstring.
    
    Args:
        param1: The first parameter.
        param2: The second parameter.
        kw1: this is optional parameter.
        kw2: this is boolean. setting flag sets True.
    """
    print(locals())
arger = Arger(
    main,
    prog="pytest",  # for testing purpose. otherwise not required
)
if __name__ == "__main__":
    arger.run()
- 
在这里,Arger只是 ArgumentParser的一个子类。它不会阻止您使用其他argparse库。
- 
用以下命令正常运行 
$ python test.py -h
usage: pytest [-h] [-k KW1] [-w] param1 param2
Example function with types documented in the docstring.
positional arguments:
  param1             The first parameter.
  param2             The second parameter.
optional arguments:
  -h, --help         show this help message and exit
  -k KW1, --kw1 KW1  this is optional parameter. (default: None)
  -w, --kw2          this is boolean. setting flag sets True. (default: False)
$ python test.py 100 param2
{'param1': 100, 'param2': 'param2', 'kw1': None, 'kw2': False}
- 查看示例文件夹和文档,了解arger的更多使用情况。它支持任何级别的子命令。
功能
- 
使用文档字符串解析帮助注释中的参数。支持 
- 
标志将从参数名生成。 - 例如: def main(param: ...)->-p, --param
- 如果需要,您可以在文档字符串内声明它,如 :param arg1: -a --arg this is the document。
 
- 例如: 
- 
可以使用 Argument类将任何值传递给parser.add_argument函数
- 
装饰函数可以组合成任意级别的嵌套子命令。 
注意
*args受支持,但尚不支持**kwargs。- 所有以下划线开头的可选参数都不会传递给
Parser。它们被视为函数实现的私有参数。一些具有特殊含义的参数名称
_namespace_-> 用于获取ArgumentParser.parse_args()的输出
_arger_-> 用于获取解析器实例
Argparser 增强功能
- web-ui : https://github.com/nirizr/argparseweb
- 额外操作 : https://github.com/kadimisetty/action-hero
- 使用 argcomplete 自动生成 shell 补全
项目详情
下载文件
下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
         arger-1.4.8.tar.gz  (16.4 kB 查看哈希值)
      
    构建分发
         arger-1.4.8-py3-none-any.whl  (12.2 kB 查看哈希值)