美文网首页python热爱者Python新世界
这个Python库要火,可自动生成命令行接口!

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

作者: 48e0a32026ae | 来源:发表于2018-10-28 15:23 被阅读80次

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

    相关文章

      网友评论

        本文标题:这个Python库要火,可自动生成命令行接口!

        本文链接:https://www.haomeiwen.com/subject/zfvdtqtx.html