参数clinic makes在main()之外创建一个命令行接口,这样就不必了。

argument-clinic的Python项目详细描述


参数诊所

Ah. I'd like to have an argument, please.

用python编写命令行工具的标准方法是 重复的。使用doc构造ArgumentParser对象 字符串添加文档化参数及其类型,调用parse on 然后用完全相同的参数调用main(...) 如果你是一个好公民,你就要再次记录通话内容。

defmain(input_file:str,*,scale:float=125,fps:int=30):"""Create a movie based that has droste aspects."""passif__name__=='__main__':parser=argparse.ArgumentParser('Create a movie based that has droste aspects.')parser.add_argument('input_file',type=str)parser.add_argument('--scale',type=float,default=125)parser.add_argument('--fps',type=float,default=30)args=parser.parse_args()main(args.input,scale=args.scale,fps=args.fps)

在Argument Clinic中,您也可以这样做,只要:

@argument.entrypointdefmain(input_file:str,*,scale:float=125,fps:int=30):"""Create a movie based that has droste aspects."""passif__name__=='__main__':main()

安装

pip install argument-clinic

更多详细信息

如上所示,基本用法是使用@argument.entrypoint 对于您的main和脚本的所有命令行参数 入口点的参数。当您调用main值时 将自动为每个参数提供。

在 主要是一个*(这是一个很好的实践)。之后的任何事情 星星变成一个需要值的标志。

您的main的文档字符串将自动成为帮助 为了你的剧本。如果您在 doc string,这些注释将添加到正确的参数(任何类型 但规格将被忽略)

最好的是:再花5分钟也不需要5英镑。

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

推荐PyPI第三方库


热门话题
内存Java正在运行。jar heapdump错误   java如何在安卓画布中弯曲文本区域?   java如何在Gdx 安卓游戏编程中获得矩形的真实触碰位置?   找不到java Spring MVC控制器   在Java中使用双重检查锁定单例扩展类   java在高效的时间和内存中动态执行insert(索引、数据)、delete(索引)、getAt(索引)操作。   java 安卓 Toast和视图帮助   java协议缓冲区:从文件中读取所有序列化消息   java如何在Jackson中为参数化接口类型执行通用自定义反序列化程序   与简单的空检查相比,使用(平面)映射的java优势是什么?   异步方法seam中的java Get contextparam   jar使用相同的java运行时运行另一个java程序   java访问Spring批处理中的作业参数   java给定字符串为空或null   在h2数据库1.4中找不到java类“org.h2.fulltext.FullTextLucene”。*不适用于Lucene Core 4*   java Spring Boot在使用@enableSync时不响应任何请求   java错误:在bash上找不到或加载主类pj2   “返回对象”和“返回(对象)”之间的Java差异   java Android开发:如何使用onKeyUp?