Python Fire 这个Python库要火!可自动生成命令行接口

开源最前线(ID:OpenSourceTop) 猿妹 整编

综合自:GitHub项目页

如果现在有个工具,不需要你做任何额外工作,不必定义参数、设置帮助信息或写一个主函数定义代码如何运行,就能自动把你的代码转化成一个 CLI 的工具,你想要么?


没错,说的就是 Python Fire,通过它,你只需从主模块调用 `Fire` 函数,Python Fire 会接管剩下的一切。它使用检索将任何 Python 对象(无论是类、对象、字典、函数,甚至是整个模块)转化为命令行接口,并输出标注标签和文档,并且指令行界面会随着编码的变化保持实时更新。



开源短短一年,Python Fire 已经获得了 12501 个「star」以及 696 个「fork」(GitHub项目地址:https://github.com/google/python-fire


看一个例子,你就知道它有多强大:


#!/usr/bin/env python
import fire
class Example(object):
 def hello(self, name='world'):
 """Says hello to the specified name."""
 return 'Hello {name}!'.format(name=name)
def main():
 fire.Fire(Example)
if __name__ == '__main__':
 main()



运行 Fire 函数时将会执行我们的命令。现在我们只需调用 Fire,就可以将 Example 类当作命令行实用程序来使用。


$ ./example.py hello
Hello world!
$ ./example.py hello David
Hello David!
$ ./example.py hello --name=Google
Hello Google!


当然,您可以继续像使用普通 Python 内容库那样使用此模块,从而能够从 Bash 和 Python 使用完全相同的代码。如果你要编写 Python 内容库,则试用就不再需要更新 main 方法或客户端;相反,你只需从命令行运行所试用的内容库片段。即使内容库发生变化,命令行工具也能即时更新。



那么,如何安装 Python Fire呢?


● 如用 pip,则运行: pip install fire

● 如用 conda, 则运行:conda install fire -c conda-forge

● 如从源码安装,则先要 clone 本 repo,然后运行: python setup.py install


如果你已经迫不及待想用 Python Fire,不妨仔细参阅 Python Fire 指南:https://github.com/google/python-fire/blob/master/docs/guide.md

推荐↓↓↓
开源最前线
上一篇:GitHub正式被微软收走了,新官上任定了三个小目标 下一篇:GNU 社区对女性不友善,Richard Stallman:好好说话!