Python fire模块(最简化命令行生成工具)的使用教程详解
作者:玩转测试开发 发布时间:2022-06-10 15:25:00
标签:Python,fire模块
简介
Python Fire是谷歌开源的一个第三方库,用于从任何Python对象自动生成命令行接口(CLI),可用于如快速拓展成命令行等形式。
优势
Python Fire是一个库,用于从任何Python对象自动生成命令行接口(CLI)。
PythonFire是在Python中创建CLI的简单方法。
PythonFire是开发和调试Python代码的有用工具。
Python Fire有助于探索现有代码或将其他人的代码转换为CLI。
PythonFire使Bash和Python之间的转换更加容易。
Python Fire通过使用已经导入和创建的模块和变量设置REPL,
使用PythonREPL变得更容易。
历史攻略
Python:解析命令行参数
Python:装饰器click处理解析命令行参数
安装
pip install fire
案例
# -*- coding: utf-8 -*-
# time: 2022/10/22 10:30
# file: fire_demo.py
# 公众号: 玩转测试开发
import fire
import datetime
import asyncio
def hello(name="World"):
print(f"Hello {name}!")
class Calculator(object):
"""A simple calculator class."""
def double(self, number):
return 2 * number
async def f1(name):
await asyncio.sleep(0.5)
print(f"{str(datetime.datetime.now())}: {name} run.")
def main(workers, loop=1, name="tom"):
for i in range(loop):
tasks = [f1(name) for i in range(workers)]
asyncio.run(asyncio.wait(tasks))
if __name__ == '__main__':
# fire.Fire(hello)
# fire.Fire(Calculator)
fire.Fire(main)
hello函数运行结果:
python hello.py # Hello World!
python hello.py --name=Tom # Hello Tom!
python hello.py --help # Shows usage information.
double函数运行结果:
main函数运行结果:
即:通过fire模块,可以快速高效的生成命令行接口,大大提高开发效率,不愧为高star项目,比click模块好用不少。
来源:https://blog.csdn.net/hzblucky1314/article/details/127468850


猜你喜欢
- 如何在SQL中启用全文检索功能?本文将通过实例向你剖折这个问题。这是一个全文索引的一个例子,首先在查询分析器中使用:use pubsgo--
- 本文实例讲述了Sanic框架异常处理与中间件操作。分享给大家供大家参考,具体如下:简介Sanic是一个类似Flask的Python 3.5+
- Mysql环境变量配置mysql的环境变量配置步骤1.1、在桌面选择“计算机”的图标,右键&
- 实例如下:import numpy as npX=[[1,2,3,4],[5,6,7,8],[9,0,11,12]]'列表转换为数组
- 本节列出了可以运行MySQL的操作系统。我们使用GNU Autoconf,因此将MySQL移植到所有使用Posix线程和C++编译器的现代系
- <script> function isIPv6(str) { return str.mat
- 一、起源 因子分析的起源是这样的:1904年英
- 在没给大家讲解实现代码之前,先给大家分享效果图:之前别人都是用jq写的,自己整理了一下开始使用<el-form-item label=
- 前言这几天caffe2发布了,支持移动端,我理解是类似单片机的物联网吧应该不是手机之类的,试想iphone7跑CNN,画面太美~作为一个刚入
- 级联样式表在13年前被引入,而且被广泛使用的CSS 2.1 标准在11年前被创建,显然我们现在已经与当年相差千里了。相当了不起的是期间网站开
- 为了配置基于 mod_python 的 Django,首先要安装有可用的 mod_python 模块的 Apache。 这通常意味着应该有一
- 这篇文章主要介绍了用Python画一个LinkinPark的logo代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的
- 简介在Python开发和测试过程中主要有两种模式可以选择:脚本模式、命令行模式。在代码的开发和调试过程中使用脚本模式很方便,目前比较主流的命
- 为了方便的实现记录数据、修改数据没有精力去做一个完整的系统去管理数据。因此,在python的控制台直接实现一个简易的数据管理系统,包括数据的
- PIL(Python Imaging Library)是Python中一个强大的图像处理库,但目前其只支持到Python2.7pillow是
- 下面通过三种方法给大家介绍Pycharm2020.1安装中文语言插件的方法,大家可以参考下:方法一(在搜索不到插件):1.安装好Pychar
- 主要是运用java.util.regex类。 import java.util.regex.Matcher;import java
- 引言提到 numpy 的数组操作,我们就不得不说到 np.concatenate() 函数,concatenate 一词在英文中是级联的意思
- 问题简述在 Windows 系统上,我使用 Python 3.11 的 pip 工具安装 lxml 等库时会出现以下报错:error: Mi
- 无论你是使用Windows,Linux还是Mac OS操作系统来开发Go应用程序,在安装好Go安装语言开发工具之后,都必须配置好Go语言开发