将函数转换为cli的小实用程序
ancli的Python项目详细描述
从函数注释生成参数分析器。灵感来源于 Fire和docopt。为经常使用 单一入口点。
怎么做?
使用ancli构建cli的过程非常简单。 一。用带注释的参数编写一个普通的python函数。 2.用make_cli把它包起来。 三。运行脚本。
示例
一。带注释参数的函数
函数run具有显式注释的参数,并使用其签名 实例化argparse.ArgumentParser实例,该实例接受 特定类型和默认(如果有的话)参数。如果未提供默认值, 然后认为该参数是必需的。
fromancliimportmake_clidefrun(path:str,flag:bool=True,iterations:int=1):print(f'run: path={path}, flag={flag}, iterations={iterations}')if__name__=='__main__':make_cli(run)
现在这个片段可以如下使用。
$ python script.py --path file.txt --flag 0 run: path=file.txt, flag=False, iterations=1
2.不带注释的函数
没有类型注释的函数尝试根据 它们的默认值。
fromancliimportmake_clidefrun(a,b=2,c=3.0):forparamin(a,b,c):print(type(param))if__name__=='__main__':make_cli(run)
没有默认值的参数被视为字符串。
$ python script.py --a 1 --b 2 --c 3.0 <type'str'> <type'int'> <type'float'>
三。作为模块运行ancli
将包作为模块运行允许从某些函数动态构建cli。 您只需要指定模块的路径和函数 作为入口。
$ python -m ancli examples.functions:compute --a 2 --b 642