将函数转换为CLI的小工具
项目描述
从函数注解构建参数解析器。一个简单的小工具,受Fire和docopt启发。适用于经常编写单个入口点脚本的用户的即时解决方案。
如何?
使用ancli构建CLI的过程非常简单。
编写一个带有注解参数的纯Python函数。
用make_cli包装它。
运行您的脚本。
示例
1. 带有注解参数的函数
函数run明确注解了参数,并且其签名用于实例化接受特定类型和默认(如果有)参数的argparse.ArgumentParser实例。如果没有提供默认值,则该参数被视为必需的。
from ancli import make_cli
def run(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. 没有注解的函数
没有类型注解的函数尝试根据它们的默认值推断参数类型。
from ancli import make_cli
def run(a, b=2, c=3.0):
for param in (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'>
3. 将ancli作为模块运行
将包作为模块运行允许从某些函数动态构建CLI。您只需指定模块的路径,以及应被视为入口点的函数。
$ python -m ancli examples.functions:compute --a 2 --b 6
42
关闭
ancli-0.1.3.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 2d7af39b313ba45a72618b304a8bd12c076f45786ced273ea6bdbcf8f9bf6585 |
|
MD5 | 597ec5e20e8ae5fb16ed38b54f1f5eb5 |
|
BLAKE2b-256 | c0dc7fde3ad1c2583c787b55da57c6cee38525c99f1ef76956c22d7e2d79139c |
关闭
ancli-0.1.3-py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | ef3165fa9799d260c8131981ddf5b99786708d460c24c5ce1371f7d0c35267a2 |
|
MD5 | b657615f46c9096a9c4ee52532aa820e |
|
BLAKE2b-256 | dfa59e1e170ebfebfe50287fb74a473871122efa0a91b2b2d3feec0528e3fb2b |