关键时刻,第一时间送达!
今天我们很高兴地发布了开源的Python Fire,Python Fire可以从任何Python代码生成命令行接口(Command Line Interface,简称CLI)。 只需在Python程序里调用Fire函数,该函数会自动将程序转化为命令行接口。Python Fire库可以通过pypi中的”pip install fire”命令进行安装,源代码可以通过Github来进行访问。
Python Fire可以自动将代码转化为命令行接口,不需要任何多余的步骤,例如定义参数,设定帮助信息,或编写主函数来定义代码的运行。只需要在主模块里调用Fire函数,Python Fire将会自动检查并将任何用户定义的Python对象(例如类,对象,字典,函数,甚至是整个模块)转化为命令行接口,即使代码发生了变化,命令行接口也会随之更新。
下面是一个简单的Python Fire例子:
当Fire函数运行时, 我们的命令也将会被执行。调用Fire函数之后,我们可以将Example类当作命令行工具来使用。
当然,你也可以继续将这个模块当做普通的Python库来使用,这将可以使你在Bash和Python中使用同样的代码。如果你正在编写一个Python库,你将不需要在试验你的库时更新你的主模块;只需要用命令行从库中运行你需要的部分即可。即使你的库发生了变化,命令行工具也会随之自动更新。
在谷歌,工程师们使用Python Fire从Python库中生成命令行工具。我们拥有的一个图像控制工具就是使用Python图像处理库(Python Imaging Library,简称PIL)和Fire构成的。在谷歌大脑(Google Brain),我们使用一个Python Fire构建的实验管理工具来实现Python和Bash实验的统一管理。
每一个Fire命令行接口都拥有一个交互模式,在命令行接口中运行 “--interactive” flag,会启动一个IPython REPL,在这里你可以得到运行命令的结果,以及其他定义过的有用的变量。Python Fire的说明中提供了更多关于这些功能的信息。
Python Fire是一个简单,通俗,以及强大的库,我们希望你也可以在你的项目中发现它的有用之处。
David Bieber, 谷歌大脑软件工程师
来源:python部落
译者:Charmant
英文原文:https://opensource.googleblog.com/2017/03/python-fire-command-line.html
Python开发整理发布,转载请联系作者获得授权
领取专属 10元无门槛券
私享最新 技术干货