探索 Python 库:Python Fire

发布日期:2026-07-19 08:49:02  来源 : 杭州电子商务研究院    浏览量 :0
杭州电子商务研究院 发布日期:2026-07-19 08:49:02  
0

介绍

在本指南中,您将了解如何实现Python/Google Fire。它是一个由 Google 开发和维护的开源库,最常用于用 Python 代码制作命令行界面。在本指南中,您还将学习如何使用 fire 模块的交互模式。

什么是 Python Fire?

Python Fire是一个模块,您只需一次调用即可将 Python 代码转换为命令行界面。这是一个非常棒的库,它可以轻松地将任何 Python 组件转换为命令行界面。它还可以将模块转换为命令行界面,甚至无需知道其源代码。

之所以称之为 Fire,是因为当你调用Fire时,它​​会触发(执行)你的命令。

Python Fire 的优点

  • 您可以轻松创建命令行界面。
  • 它对调试 Python 代码有很大帮助。
  • 它是一个非常棒的库,您可以使用它从任何 Python 库生成命令行界面。
  • 您无需知道模块的源代码即可调用它。
  • 它对于深入探索和挖掘你的代码有很大帮助。

安装 Python Fire

假设您的系统上已经安装了 Python 和 pip,那么安装 Python Fire 不需要任何依赖项。

要使用pip安装,请打开终端并运行以下命令:

      pip install fire
    

要使用conda安装,请打开终端并运行以下命令:

      conda install -c conda-forge fire
    

基本示例

示例一:fire.fire()

现在您已经安装了 Fire 包,请看一下这个第一个示例。

      # example.py 
# importing python fire module 
import fire 
 
# defining a function 
def hello(name): 
    return 'Hello {0}, Have a nice day {0}'.format(name) 
 
if __name__ == '__main__': 
    # converting our function in a Command Line Interface (CLI). 
    fire.Fire()
    

要以命令行界面运行上述代码,请使用以下命令:

      python example.py hello john
    

示例二:fire.fire(function)

修改您的函数,这样您就不需要指定整个函数。

      # example.py 
# importing python fire module 
import fire 
 
# defining a function 
def hello(name): 
    return 'Hello {0}, Have a nice day {0}'.format(name) 
 
if __name__ == '__main__': 
    # converting our function in a Command Line Interface (CLI). 
    fire.Fire(hello)
    

通过终端运行以下命令来运行该程序:

      python example.py sachin
    

示例三:让火变得更简单

      # example.py 
# importing fire 
import fire 
 
name1 = 'Hello my name is sachin' 
name2 = 'hello my name is rahul' 
fire.Fire()
    

要运行上述代码,您可以使用以下命令

      python example.py name1 
python example.py name2
    

多命令示例

示例一:基本示例

      # example.py 
# importing fire module 
import fire 
 
def hello(name): 
    return 'Hello how are you {}'.format(name) 
 
def nice(name): 
    return 'nice day thank you! {}'.format(name) 
 
def bye(name): 
    return 'bye take care! {}'.format(name) 
 
# converting our function in a Command Line Interface (CLI). 
if __name__ == '__main__': 
    fire.Fire()
    

通过终端运行以下命令来运行该程序:

      python example.py hello sachin 
python example.py nice sachin 
python example.py bye sachin
    

示例二:字典

上一个示例向命令行公开了所有函数。此示例将介绍字典。它使用相同的函数,例如hellonicebye

      # converting our function in a Command Line Interface (CLI). 
if __name__ == '__main__': 
    fire.Fire({ 
        'hello' : hello, 
        'nice': nice, 
        'bye' : bye 
    })
    

通过使用字典,您可以有选择地将函数公开给命令行。

通过终端运行以下命令来运行该程序:

      python example.py hello sachin 
python example.py nice sachin 
python example.py bye sachin
    

示例三:对象

在 Python Fire 中,您还可以使用对象。这是将函数暴露给命令行的好方法。

      # importing fire module 
import fire 
 
class World(object): 
    def hello(self,name): 
        return 'Hello how are you {}'.format(name) 
 
    def nice(self,name): 
        return 'nice day thank you! {}'.format(name) 
 
    def bye(self,name): 
        return 'bye take care! {}'.format(name) 
 
# converting our function in a Command Line Interface (CLI). 
if __name__ == '__main__': 
    world_instance = World() 
    fire.Fire(world_instance)
    

您可以使用相同的命令运行上述示例。

      python example.py hello sachin 
python example.py nice sachin 
python example.py bye sachin
    

示例四:课程

Python Fire 还提供了使用类的选项。您使用了相同的World类。

      # converting our function in a Command Line Interface (CLI). 
if __name__ == '__main__': 
    fire.Fire(World)
    

要运行上述代码,您可以使用示例一中使用的命令。

消防旗

Python Fire CLI 提供了许多标志。要在命令行提示符中使用这些标志,必须在fire命令中用隔离的--将它们分开。如果至少有一个隔离的--参数,则最后一个隔离的--之后的参数将被视为标志,而最后一个隔离的--之前的所有参数都将被视为fire命令的一部分

有一些有用的标志,例如--help标志和--interactive标志。通过使用--help,您可以知道函数的名称、它是否是位置参数等。您可以在任何 CLI 上使用--interactive标志进入 Python REPL,其中包含调用fire的上下文中使用的所有模块和变量,并且可供您使用。其他有用的变量,例如-- 、 fire命令的组件、结果和跟踪也将可用。

在下面的代码上运行这些标志。

      # importing python fire module 
import fire 
 
# defining a function 
def hello(name): 
    return 'Hello {0}, Have a nice day {0}'.format(name) 
 
if __name__ == '__main__': 
    # converting our fucntion in a Command Line Interface (CLI). 
    fire.Fire(hello)
    

使用以下命令运行上述代码的标志:

帮助标志

      python example.py -- --help
    

互动旗帜

使用以下命令运行交互式标志。

      python example.py hello -- --interactive
    
<div class="cmp-ps-image aem-GridColumn--tabl
以上内容来自杭州电子商务研究院推送
分享到:

长按或扫码识别 分享给好友

长按或扫码识别 分享给好友
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据