从函数自动创建argparser

arger的Python项目详细描述


概述

argparser的包装器,可帮助从函数构建CLI。广泛使用类型提示:蛇:。在

PyPi VersionPython VersionPyPI License

设置

:齿轮:安装

将其直接安装到激活的虚拟环境中:

$ pip install arger

或将其添加到您的Poetry项目中:

^{pr2}$

:books:用法

  • 创建一个名为测试.py在
fromargerimportArgerdefmain(param1:int,param2:str,kw1=None,kw2=False):"""Example function with types documented in the docstring.    :param param1: The first parameter.    :param param2: The second parameter.    """print(locals())if__name__=='__main__':Arger(main).run()
  • 这里Arger只是ArgumentParser的一个子类。它不会隐藏您使用其他argparse库。在

  • 正常运行时使用

python test.py 100 param2
  • 签出examples文件夹和文档,查看arger的更多操作。它支持任何级别的子命令。在

特点

  • 使用docstring分析参数的帮助注释。支持
  • 将从参数名生成标志。 如果需要,可以在docstring中声明它,比如:param arg1: -a --arg this is the document。 也可以使用def main(arg1:int=Argument(flags=('-a', '--arg'), ...): ...
  • 修饰函数可以组合成任何级别的嵌套子命令。在
  • 没有外部lib依赖项
  • 大多数标准类型supported。 请参阅examples以获取更多支持的类型和示例。在
  • 支持ArgumentParser.add_argument的所有参数。 它可以用arger.Argument类更新。在
  • *args支持,但还没有{}支持。在
  • 所有以下划线开头的可选参数都不会传递给Parser。 它们被认为是函数实现的私有属性。 一些有特殊意义的参数名称
    • _namespace_->;从ArgumentParser.parse_args()获取输出
    • _arger_->;获取解析器实例

类似项目

argh

  • 有类似的目标来简化argparser的使用。在
  • 不支持类型提示。在
  • 没有最新版本。在

typer

  • 如果您正在使用click,我强烈建议您检查这个库。在
  • 它是整洁的,并从中提取了许多特征。在
  • 不支持从DocString加载参数的帮助文本。在

invoke

  • 不支持类型提示。在

cliche

  • 有相似的目标。在
  • 并没有像arger那样涵盖很多用例。在

cliar

  • 帮助参数不支持docstring。在

推荐的备选方案

我强烈建议你结帐的项目。在

  1. clize
  2. nuclear
  3. defopt

此项目是用cookiecutter使用jacebrowning/template-python生成的。在

Argparser增强功能

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

推荐PyPI第三方库


热门话题
java组在不同线程中记录消息   java Wicket挂载404错误页   Java:如何制作对象数组的副本?   类似Windows中的java日期时间选择器   java无法获取JTextField用户输入以搜索文本文件   安卓 Java:如何随机更改背景和字体颜色   Java定时器中的摆动变化延迟   java让Selenium暂停X秒   将响应传递到视图时发生java Nativescript错误   java刷新安卓列表视图的最佳方式是什么?   单java进程的多线程队列/工作线程体系结构   web服务Java NoSuchMethodException   java groupingBy和filter一步到位   java游标。getCount()给定错误   即使引用的文件位于项目根目录中,java PrintWrite仍会持续引发“未找到文件”异常