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
0
投稿
猜你喜欢
- 学校让我们在放假期间自觉Python,对于Python我是小白的不能再小白了。一切从头开始,找学习资料,看视频教程光看书看视频也不行还要自己
- 1.批量处理所谓的批处理就是批量处理cmd里面的命令。python要想实现批处理功能需要导入os库,然后利用批处理的命令为os.system
- 呵呵,先说明一下下面的程序大部分收集自网络,因为本人在asp编程中经常使用到随机函数,所以收集了一些这类的函数,并做了些注释,方便使用。首发
- python解析网页,无出BeautifulSoup左右,此是序言安装BeautifulSoup4以后的安装需要用eazy_install,
- 代码如下:<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001&quo
- 在用sqlAlchemy写web应用的时候,经常会用json进行通信,跟json最接近的对象就是dict,有时候操作dict也会比操作ORM
- 首先来解释一下SpringBoot首页设置的三种方式1.SpringBoot默认首页设置编写一个最简单的html文件 index.html&
- 缓存是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速度很快。缓存就是把一些数据暂时存放于某些地方,可能是内存,也有可能硬
- 本文实例为大家分享了python绘制圆柱体示的具体代码,供大家参考,具体内容如下#!/usr/bin/env pythonimport vt
- 核心代码function convert2utf8($string) { return iconv(&
- 1 、创建一个django项目使用django-admin.py startproject MyDjangoSite 参考这里2、建立视图f
- Intersection over Union(IOU)是一种测量在特定数据集中检测相应物体准确度的一个标准。IoU是一个简单的测量标准,只
- PDOStatement::columnCountPDOStatement::columnCount — 返回结果集中的列数。(PHP 5
- 简介Go的标准包Container中包含了常用的容器类型,包括conatiner/list,container/heap,container
- ppt要想完美的转pdf,图片,还是需要在windows下面来操作。1,安装python3.5.1下载地址Windows x86-64 ex
- 本文为大家分享了华为校园招聘上机笔试题,供大家参考,具体内容如下[编程题] 扑克牌大小时间限制:10秒空间限制:131072K扑克牌游戏大家
- 0. 前言无论在工作中,还是学习中,都会出现这样子的需求,对某张表进行了排序(按时间排序也好,其他字段排序也罢),然后获取前x行的数据,由于
- 对我当前工程进行全部测试需要花费不少时间。既然有 26 GB 空闲内存,为何不让其发挥余热呢? tmpfs 可以通过把文件系统保
- 1. 确认已经安装了NT/2000和SQL Server的最新补丁程序,不用说大家应该已经安装好了,但是我觉得最好还是在这里提醒一下。2.
- <?php # 设置 $domain 为你的域名 (注意没有www) $domain = "aspxhome.com&quo