翼度科技»论坛 编程开发 python 查看内容

python学习: fire库的使用教程

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
一. 介绍

fire是python中用于生成命令行界面(Command Line Interfaces, CLIs)的工具,不需要做任何额外的工作,只需要从主模块中调用fire.Fire(),它会自动将你的代码转化为CLI,Fire()的参数可以说任何的python对象
二. 安装

  1. pip install fire
复制代码
三. 用法

实例1 :
单个函数:python 模块名 参数1 参数2
在Common目录下新建一个test_fire.py的模块
  1. import fire
  2. def add(a, b):
  3.     count = a + b
  4.     return count
  5. if __name__ == '__main__':
  6.     fire.Fire(add)
复制代码
当不接参数时,执行python test_fire.py会显示帮助信息

帮助信息里显示了fire.Fire()的参数类型(function)、文件路径、文档字符串、参数用法等信息
加参数运行的结果如下:
注意:两种方法调用,一种是直接跟实参,一种是--形参 实参的形式,为了方便,本文采取第一种

实例2:
多个函数:python 模块名 函数名 参数
  1. import fire
  2. def add(a, b):
  3.     count = a + b
  4.     return count
  5. def sub(a, b):
  6.     result = a - b
  7.     return result
  8. if __name__ == '__main__':
  9.     fire.Fire()
复制代码
加上参数运行结果:

实例3 :
类(对象) 多个函数:python 模块名 函数名 参数
  1. import fire
  2. class Calculator(object):
  3.     def add(self, a, b):
  4.         count = a + b
  5.         return count
  6.     def sub(self, a, b):
  7.         result = a - b
  8.         return result
  9. # Python学习交流群:711312441
  10. if __name__ == '__main__':
  11.     fire.Fire(Calculator)    #这里用类名Calculator或者类的实例化对象Calculator()结果都是一样的
复制代码
加参数运行结果:

注意:

  • fire 默认使用 - 作为参数分隔符,所以如果你要在命令行传入类似 2017-04-22 的参数时,那么程序接收到的参数就肯定不是 2017-04-22 了,需要使用 --separator 来改变分隔符

  • fire 会自动区分你在命令行传入的参数的类型,例如 20170422 会自动识别成 int,hello 会自动识别成 str,'(1,2)' 会自动识别成 tuple,'{"name": "Alan Lee"}' 会自动识别成 dict。但是你如果想要传入一个字符串类型的 20170422 怎么办?那就需要这样写:'"20170422"' 或者 "'20170422'" 或者 "20170422",总之呢,就是加一个转义,因为命令行默认会吃掉你的引号


来源:https://www.cnblogs.com/python1111/p/17008898.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

上一篇: 没有了

下一篇: Python图像处理丨详解图像去雾处理方法

举报 回复 使用道具