首页 > 编程语言 >python学习: fire库的使用教程

python学习: fire库的使用教程

时间:2022-12-27 20:24:10浏览次数:40  
标签:__ count 教程 python Fire fire 参数

一. 介绍

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

二. 安装

pip install fire

三. 用法

实例1 :

单个函数:python 模块名 参数1 参数2

在Common目录下新建一个test_fire.py的模块

import fire

def add(a, b):
    count = a + b
    return count

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

当不接参数时,执行python test_fire.py会显示帮助信息
在这里插入图片描述
帮助信息里显示了fire.Fire()的参数类型(function)、文件路径、文档字符串、参数用法等信息

加参数运行的结果如下:

注意:两种方法调用,一种是直接跟实参,一种是--形参 实参的形式,为了方便,本文采取第一种
在这里插入图片描述
实例2:

多个函数:python 模块名 函数名 参数

import fire

def add(a, b):
    count = a + b
    return count

def sub(a, b):
    result = a - b
    return result

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

加上参数运行结果:

在这里插入图片描述
实例3 :

类(对象) 多个函数:python 模块名 函数名 参数

import fire

class Calculator(object):
    def add(self, a, b):
        count = a + b
        return count

    def sub(self, a, b):
        result = a - b
        return result
# Python学习交流群:711312441
if __name__ == '__main__':
    fire.Fire(Calculator)    #这里用类名Calculator或者类的实例化对象Calculator()结果都是一样的

加参数运行结果:
在这里插入图片描述
注意:

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

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

标签:__,count,教程,python,Fire,fire,参数
From: https://www.cnblogs.com/python1111/p/17008898.html

相关文章

  • Python之多任务编程概述
    一、疑问利用现学知识能够让两个函数或者方法同时执行吗?不能,因为之前所写的程序都是单任务的,也就是说一个函数或者方法执行完成另外一个函数或者方法才能执行,要想实现这种......
  • Python之多任务编程进程
    一、进程概述1.进程的介绍在Python程序中,想要实现多任务可以使用进程来完成,进程是实现多任务的一种方式。2.进程的概念一个正在运行的程序或者软件就是一个进程,它是操作系......
  • 覆盖 python_python文件读写模式,覆盖写和清空写你清楚了吗
    https://blog.csdn.net/u011280778/article/details/104283319https://blog.csdn.net/weixin_39873356/article/details/112585266?utm_medium=distribute.pc_relevant.no......
  • pyqt5-python交互
    安装pyqt5,算是框架,直接在pycharm库里面搜pyqt5就行了安装可视化设计器QtDesigner,这个去官网下载就可以了,不过最好找个中文版的下载。在pycharm上配置插件,好让pych......
  • 11个案例讲透 Python 函数参数
    今天给大家分享一下自己整理的一篇Python参数的内容,内容非常的干,全文通过案例的形式来理解知识点,自认为比网上80%的文章讲的都要明白,如果你是入门不久的python新手,......
  • Python学习笔记--PySpark的基础学习(二)
    filter方法(过滤想要的数据进行保留)具体实现(保留奇数):具体实现(保留偶数):distinct方法(对RDD进行去重,返回新的RDD)且无需传参具体实现(去重):sortBy方法(排序,基于我们制定的......
  • sqlite 实例教程 IOS下用sqlite打造词典-IOS开发
    sqlite是个好东西,对于移动平台来说。一直想写有关sqlite的教程,但是不知道从何写起,考虑了很久,还是从一个小Demo谈起吧。我写了一个精简版的词典,实现了增删查改的基本功能。......
  • ubuntu20安装python2, python3及版本配置
    默认安装了python3一.安装Python2.71.安装aptinstallpython2update-alternatives--install/usr/bin/pythonpython/usr/bin/python2.71update-alternatives--......
  • CakePHP 2.x十分钟博客教程(一):安装与配置
     Cakephp2.0依然保持着Cakephp框架的各种优良传统,其中之一就是非常易于新手入门,几乎不做任何复杂的配置即可使用。非常可惜的是,Cakephp2.0手册竟然没有了中文翻译,1.3的翻......
  • TensorFlow高阶 API: keras教程-使用tf.keras搭建mnist手写数字识别网络
    TensorFlow高阶API:keras教程-使用tf.keras搭建mnist手写数字识别网络目录​​TensorFlow高阶API:keras教程-使用tf.keras搭建mnist手写数字识别网络​​​​1、Keras​​​......