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.

https://mmbiz.qpic.cn/mmbiz_png/g5foreJ2EpqsLicxXADdvs2iaYxlUBfUc15uJ499vjBiblqdwa1OVZSjUaZbKOUnbxfTbSUHgfehwPsz32JRgu8Sw/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

double函数运行结果:

图片

main函数运行结果:

图片

即:通过fire模块,可以快速高效的生成命令行接口,大大提高开发效率,不愧为高star项目,比click模块好用不少。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值