参数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英镑。