• 欢迎访问佰阅部落
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何使用PythonFire将你的任意python项目转换为命令行Cli模式

开发工具 佰阅 3年前 (2020-07-17) 2494次浏览 0个评论

在python原生编程中,我们常用sys.argv[1]来传递命令行下的参数,对单个函数而言,fire的操作也是类似,在__main__里定义fire.Fire(函数名)对象即可。但是在类上面,fire就显得非常高效。下面具体介绍。

0. 简介

开源地址:google/python-fire
python-fire是谷歌开源的一款自动生成命令行(cli)界面的库。

1. 安装

pip install fire

2. 使用

Fire支持任何python类型,比如函数、类、模块、对象、字典、列表、元组等等。
函数示例:

import fire

def hello(name="World"):
  return "Hello %s!" % name

if __name__ == '__main__':
  fire.Fire(hello)

终端使用方法:

python hello.py  # Hello World!
python hello.py --name=David  # Hello David!
python hello.py --help  # Shows usage information.


对类的操作演示:

import fire

class Calculator(object):
  """A simple calculator class."""

  def double(self, number):
    return 2 * number

if __name__ == '__main__':
  fire.Fire(Calculator)

终端使用方法:

python calculator.py double 10  # 20
python calculator.py double --number=15  # 30

从这里可见该工具的强大之处,对于一些python模块编程,我们只需添加简单的两行内容,就可以转换为一个Cli命令工具。这在最终生产环境是非常高效的。

3. 小结

fire非常适合将python的类转换为Cli工具,用于单一函数也是没有问题的,不过这个工具仅在最后才可以使用,平时调试或者在jutyper里是不行的,会提示ERROR:Could not consume arg的错误。


佰阅部落 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何使用PythonFire将你的任意python项目转换为命令行Cli模式
喜欢 (0)

您必须 登录 才能发表评论!