python热爱者Python新世界

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

2018-10-28  本文已影响80人  48e0a32026ae

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

学习Python中有不明白推荐加入交流群

                号:516107834

                群里有志同道合的小伙伴,互帮互助,

                群里有不错的学习教程!

没错,说的就是 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

上一篇 下一篇

猜你喜欢

热点阅读