日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

Python?fire模塊(最簡化命令行生成工具)的使用教程詳解_python

作者:玩轉(zhuǎn)測試開發(fā) ? 更新時間: 2022-11-30 編程語言

簡介

Python Fire是谷歌開源的一個第三方庫,用于從任何Python對象自動生成命令行接口(CLI),可用于如快速拓展成命令行等形式。

優(yōu)勢

Python Fire是一個庫,用于從任何Python對象自動生成命令行接口(CLI)。

PythonFire是在Python中創(chuàng)建CLI的簡單方法。

PythonFire是開發(fā)和調(diào)試Python代碼的有用工具。

Python Fire有助于探索現(xiàn)有代碼或?qū)⑵渌说拇a轉(zhuǎn)換為CLI。

PythonFire使Bash和Python之間的轉(zhuǎn)換更加容易。

Python Fire通過使用已經(jīng)導入和創(chuàng)建的模塊和變量設置REPL,

使用PythonREPL變得更容易。

歷史攻略

Python:解析命令行參數(shù)

Python:裝飾器click處理解析命令行參數(shù)

安裝

pip install fire

案例

# -*- coding: utf-8 -*-
# time: 2022/10/22 10:30
# file: fire_demo.py
# 公眾號: 玩轉(zhuǎn)測試開發(fā)
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函數(shù)運行結果:

python hello.py ?# Hello World!
python hello.py --name=Tom ?# Hello Tom!
python hello.py --help ?# Shows usage information.

double函數(shù)運行結果:

main函數(shù)運行結果:

即:通過fire模塊,可以快速高效的生成命令行接口,大大提高開發(fā)效率,不愧為高star項目,比click模塊好用不少。

原文鏈接:https://blog.csdn.net/hzblucky1314/article/details/127468850

欄目分類
最近更新