Python Fire开源—用于自动生成命令行界面的内容库
2017-03-20 13:48
1166 查看
文 | Google Brain 软件工程师 David Bieber
我们高兴地宣布 Python Fire 将开放源代码。Python Fire 可根据任何 Python 代码生成命令行界面 (CLI)。只需在任何 Python 程序中调用 Fire 函数,便可自动将该程序转变成 CLI。
这个内容库可通过“pip install fire”从 pypi 获得:
pypi.python.org/pypi/fire
其源代码在 GitHub 上公开:
github.com/google/python-fire
Python Fire 可自动将您的代码转变成 CLI,无需您做任何额外工作。您不必定义参数,设置帮助信息,或者编写定义代码运行方式的 main 函数。相反,您只需从 main 模块调用“Fire”函数,其余工作全部交由 Python Fire 来完成。它利用检查将您提供的任何 Python 对象(无论是类、对象、字典、函数甚至整个模块)转变成一个 Tab 命令补全和文档齐备的命令行界面,并且这个 CLI 甚至能在代码发生变化时即时更新。
让我们通过一个简单的示例加以说明:
运行 Fire 函数时将会执行我们的命令。现在我们只需调用 Fire,就可以将 Example 类当作命令行实用程序来使用。
当然,您可以继续像使用普通 Python 内容库那样使用此模块,从而能够从 Bash 和 Python 使用完全相同的代码。如果您要编写 Python 内容库,则试用就不再需要更新 main 方法或客户端;相反,您只需从命令行运行所试用的内容库片段。即使内容库发生变化,命令行工具也能即时更新。
在 Google,工程师们利用 Python Fire 根据 Python 内容库生成命令行工具。我们的一个图像处理工具就是将 Fire 与 Python 成像内容库 (PIL) 配合使用生成的。在 Google Brain 团队,我们使用的试验管理工具也是使用 Fire 生成的,通过它从 Python 或 Bash 管理试验的效果同样好。
每个 Fire CLI 都自带交互模式。运行 CLI 时带“--interactive”标志可启动一个 IPython REPL,其中包含命令的结果以及其他已经定义并可随时使用的有用变量。请务必查看 Python Fire 的文档,了解 Fire 提供的这项功能以及其他有用功能的更多信息。
考虑到 Python Fire 简单易用、通用性强并且功能强大,我们希望您能在自己的项目中发现它的用武之地。
3.19 Google Doodle: 2017 父亲节(玻利维亚、克罗地亚、洪都拉斯、意大利、葡萄牙、西班牙)
相关文章推荐
- 谷歌开源 Python Fire:可自动生成命令行接口
- 谷歌开源 Python Fire:可自动生成命令行接口
- 神奇的模块--谷歌开源 Python Fire:自动生成命令行接口
- 【Python】自动生成命令行工具 - fire 简介
- PyCon 2011 - Hidden Treasures of the Python Standard Library - 为Python命令行添加了按键自动补全内容和命令历史功能
- 【Python】自动生成命令行工具 - fire 简介
- fire.Fire()---自动生成命令行
- 【Python】自动生成命令行工具 - fire 简介
- 让 python 命令行也自动补全 [zt]
- 用js实现的一个根据内容自动生成表格的函数
- 利用DevExpress的LayoutControl控件实现界面的自动生成
- 将C++代码全部写到头文件:)python脚本帮助自动生成相应的实现文件初始框架
- 自动生成Python初始模板——makecode.py增强版
- VS 如何自动生成 aspx.designer.cs文件内容(解决"The base class includes the field ''"错误)
- 不再为DataGrid生成的表格的单无格中的内容过长、自动折行、表格撑开等问题而烦恼
- 根据表名自动生成I/S/U/D的SQL语句,用于MSSQL2000/2005/2008
- 根据表名自动生成I/S/U/D的SQL语句,用于MSSQL2000/2005/2008(downmoon)
- 使用CodeSmith根据数据库中的表自动生成WinUI界面(使用TableLayoutPanel布局)的代码.
- 笔记:把界面上静态文本控件的尺寸根据文本的内容自动调整大小
- 不指定src, 用js生成 iFrame/新窗口 里面的内容(可用于scriptX打印部分页面等)