如果现在有个工具,不需要你做任何额外工作,不必定义参数、设置帮助信息或写一个主函数定义代码如何运行,就能自动把你的代码转化成一个 CLI 的工具,你想要么?
![8a999b8db1917905c2dc3c80ff3e0681.png](https://i-blog.csdnimg.cn/blog_migrate/8eb4e7c9d551e3b88744ef38eab1f1fa.png)
没错,说的就是 Python Fire,通过它,你只需从主模块调用 Fire 函数,Python Fire 会接管剩下的一切。它使用检索将任何 Python 对象(无论是类、对象、字典、函数,甚至是整个模块)转化为命令行接口,并输出标注标签和文档,并且指令行界面会随着编码的变化保持实时更新。
![8318d9486b5543fcc5055adb4c93cd56.png](https://i-blog.csdnimg.cn/blog_migrate/bc15c4ab12cf311a981ebcc75b89db21.png)
开源短短一年,Python Fire 已经获得了 12501 个「star」以及 696 个「fork」
看一个例子,你就知道它有多强大:
![7c61c09c1c6a2a38fcc4ad8978f1d064.png](https://i-blog.csdnimg.cn/blog_migrate/f08c38fae232f24679faca0a54831f4a.png)
运行 Fire 函数时将会执行我们的命令。现在我们只需调用 Fire,就可以将 Example 类当作命令行实用程序来使用。
![d766845fbbd4c59574dfe0293226c79b.png](https://i-blog.csdnimg.cn/blog_migrate/bedc7b06c02289a77f87e0d711eb599a.png)
当然,您可以继续像使用普通 Python 内容库那样使用此模块,从而能够从 Bash 和 Python 使用完全相同的代码。如果你要编写 Python 内容库,则试用就不再需要更新 main 方法或客户端;相反,你只需从命令行运行所试用的内容库片段。即使内容库发生变化,命令行工具也能即时更新。
那么,如何安装 Python Fire呢?
● 如用 pip,则运行: pip install fire
● 如用 conda, 则运行:conda install fire -c conda-forge
● 如从源码安装,则先要 clone 本 repo,然后运行: python setup.py install