欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python庫(kù)使用Fire庫(kù)生成命令行參數(shù)

 更新時(shí)間:2024年02月06日 09:09:48   作者:wang_yb  
Python Fire是一個(gè)開(kāi)源庫(kù),能把Python對(duì)象轉(zhuǎn)換為命令行界面,F(xiàn)ire庫(kù)是一個(gè)非常有用的工具,它可以幫助開(kāi)發(fā)人員創(chuàng)建命令行界面,并且可以將任何Python對(duì)象轉(zhuǎn)換為命令行界面,這篇文章主要介紹了python庫(kù)使用Fire庫(kù)生成命令行參數(shù),需要的朋友可以參考下

牛逼的python庫(kù)-使用Fire庫(kù)生成命令行參數(shù)

Python Fire是一個(gè)開(kāi)源庫(kù),它可以將任何Python對(duì)象轉(zhuǎn)換為命令行界面。它可以幫助開(kāi)發(fā)人員快速創(chuàng)建命令行界面,而無(wú)需編寫大量的代碼。Fire的主要功能是將Python對(duì)象轉(zhuǎn)換為命令行界面,這使得開(kāi)發(fā)人員可以使用命令行界面來(lái)調(diào)用Python函數(shù)。

庫(kù)的使用非常簡(jiǎn)單。首先,您需要安裝Fire庫(kù)。您可以使用pip命令來(lái)安裝它:

pip install fire

安裝完成后,您可以將任何Python對(duì)象轉(zhuǎn)換為命令行界面。例如,您可以將一個(gè)簡(jiǎn)單的Python函數(shù)轉(zhuǎn)換為命令行界面:

import fire
def hello(name='world'):
    return f'Hello {name}!'
if __name__ == '__main__':
    fire.Fire(hello)

在上面的示例中,我們定義了一個(gè)名為hello的函數(shù),并使用Fire庫(kù)將其轉(zhuǎn)換為命令行界面?,F(xiàn)在,您可以在終端中運(yùn)行以下命令:

python hello.py --name=John

這將輸出以下內(nèi)容:

Hello John!

Fire庫(kù)還支持將類轉(zhuǎn)換為命令行界面。例如,您可以將一個(gè)簡(jiǎn)單的類轉(zhuǎn)換為命令行界面:

import fire
class Calculator:
    def add(self, x,):
        return x + y
if __name__ == '__main__':
    fire.Fire(Calculator)

在上面的示例中,我們定義了一個(gè)名為Calculator的類,并使用Fire庫(kù)將其轉(zhuǎn)換為命令行界面?,F(xiàn)在,您可以在終端中運(yùn)行以下命令:

python calculator.py add --x=2 --y=3

這將輸出以下內(nèi)容:

5

總之,F(xiàn)ire庫(kù)是一個(gè)非常有用的工具,它可以幫助開(kāi)發(fā)人員快速創(chuàng)建命令行界面。它非常易于使用,并且可以將任何Python對(duì)象轉(zhuǎn)換為命令行界面。

補(bǔ)充:

Python Fire:更加靈活的命令行參數(shù)

之前介紹過(guò)PythonFire庫(kù),一個(gè)用來(lái)生成命令行工具的的庫(kù)。
請(qǐng)參考:Python Fire:自動(dòng)生成命令行接口

今天,針對(duì)命令行參數(shù),補(bǔ)充兩種更加靈活的設(shè)置方式。

1. *args 型參數(shù)

*args型的參數(shù)可以接受任意長(zhǎng)度的參數(shù)。
比如,模擬一個(gè)學(xué)校發(fā)送通知的功能:

import fire
def notions(school, *names):
    for name in names:
        print(f"[{school} 通知] hello {name}")
if __name__ == "__main__":
    fire.Fire(notions)

使用起來(lái)很靈活,

$  python.exe .\fire-sample.py NJ大學(xué) 小紅 小李 小張 小華
[NJ大學(xué) 通知] hello 小紅
[NJ大學(xué) 通知] hello 小李
[NJ大學(xué) 通知] hello 小張
[NJ大學(xué) 通知] hello 小華
$  python.exe .\fire-sample.py --school NJ大學(xué) 小紅 小李 小張
[NJ大學(xué) 通知] hello 小紅
[NJ大學(xué) 通知] hello 小李
[NJ大學(xué) 通知] hello 小張
$  python.exe .\fire-sample.py --school NJ大學(xué) 小紅 小李 小張 小華
[NJ大學(xué) 通知] hello 小紅
[NJ大學(xué) 通知] hello 小李
[NJ大學(xué) 通知] hello 小張
[NJ大學(xué) 通知] hello 小華
$  python.exe .\fire-sample.py 小紅 小李 --school NJ大學(xué) 小張 小華
[NJ大學(xué) 通知] hello 小紅
[NJ大學(xué) 通知] hello 小李
[NJ大學(xué) 通知] hello 小張
[NJ大學(xué) 通知] hello 小華

從上面使用的示例可看出,

  • 可以不輸入?yún)?shù)名稱(比如第一個(gè)例子),按照順序第一參數(shù)賦值給school,其余的賦值給*names
  • *names參數(shù)支持不定長(zhǎng)度的值
  • school參數(shù)指定參數(shù)名的話,可以放在任意的位置(比如上面第四個(gè)例子)。

2. **kwargs 型參數(shù)

**kwargs 型參數(shù)也是不定長(zhǎng)度的,和*args型參數(shù)不同的地方在于,
使用**kwargs型參數(shù)時(shí),需要指定參數(shù)名稱。

比如,模擬一個(gè)顯示學(xué)生成績(jī)的功能:

import fire
def scores(cls, **students):
    for k, v in students.items():
        print(f"[{cls} 成績(jī)] {k}: {v}")
if __name__ == "__main__":
    fire.Fire(scores)

使用示例如下:

$  python .\fire-sample.py 初三1班 --小紅 98 --小李 89 --小王 100
[初三1班 成績(jī)] 小紅: 98
[初三1班 成績(jī)] 小李: 89
[初三1班 成績(jī)] 小王: 100
$  python .\fire-sample.py --小紅 98 --小李 89 --小王 100  初三1班
[初三1班 成績(jī)] 小紅: 98
[初三1班 成績(jī)] 小李: 89
[初三1班 成績(jī)] 小王: 100
$  python .\fire-sample.py --小紅 98 --小李 89 --小王 100 --cls 初三1班
[初三1班 成績(jī)] 小紅: 98
[初三1班 成績(jī)] 小李: 89
[初三1班 成績(jī)] 小王: 100

cls參數(shù)可以不指定名稱,也可以放在任意位置上。
**students參數(shù)則必須指定參數(shù)名稱,但參數(shù)名稱不固定,參數(shù)的個(gè)數(shù)也不固定。

3. 總結(jié)

*args型和**kwargs型參數(shù)可以有效的緩解命令行工具靈活性不足的問(wèn)題。
開(kāi)發(fā)命令行工具時(shí),根據(jù)自己的場(chǎng)景,使用這兩種類型的參數(shù)可讓命令行工具的接口更加簡(jiǎn)潔靈活。

到此這篇關(guān)于Python Fire:更加靈活的命令行參數(shù)的文章就介紹到這了,更多相關(guān)Python Fire:更加靈活的命令行參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 對(duì)pandas讀取中文unicode的csv和添加行標(biāo)題的方法詳解

    對(duì)pandas讀取中文unicode的csv和添加行標(biāo)題的方法詳解

    今天小編就為大家分享一篇對(duì)pandas讀取中文unicode的csv和添加行標(biāo)題的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • python操作excel文件并輸出txt文件的實(shí)例

    python操作excel文件并輸出txt文件的實(shí)例

    今天小編就為大家分享一篇python操作excel文件并輸出txt文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Pandas導(dǎo)入導(dǎo)出excel、csv、txt文件教程

    Pandas導(dǎo)入導(dǎo)出excel、csv、txt文件教程

    Pandas?是一個(gè)強(qiáng)大的數(shù)據(jù)分析和處理庫(kù),可以用來(lái)讀取和處理多種數(shù)據(jù)格式,本文主要介紹了Pandas導(dǎo)入導(dǎo)出excel、csv、txt文件教程,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • python如何讀取bin文件并下發(fā)串口

    python如何讀取bin文件并下發(fā)串口

    這篇文章主要介紹了python如何讀取bin文件并下發(fā)串口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 教你用python將數(shù)據(jù)寫入Excel文件中

    教你用python將數(shù)據(jù)寫入Excel文件中

    Python作為一種腳本語(yǔ)言相較于shell具有更強(qiáng)大的文件處理能力,下面這篇文章主要給大家介紹了關(guān)于如何用python將數(shù)據(jù)寫入Excel文件中的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • Python讀取sqlite數(shù)據(jù)庫(kù)文件的方法分析

    Python讀取sqlite數(shù)據(jù)庫(kù)文件的方法分析

    這篇文章主要介紹了Python讀取sqlite數(shù)據(jù)庫(kù)文件的方法,結(jié)合實(shí)例形式分析了Python引入sqlite3模塊操作sqlite數(shù)據(jù)庫(kù)的讀取、SQL命令執(zhí)行等相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • Python使用Pandas對(duì)csv文件進(jìn)行數(shù)據(jù)處理的方法

    Python使用Pandas對(duì)csv文件進(jìn)行數(shù)據(jù)處理的方法

    這篇文章主要介紹了Python使用Pandas對(duì)csv文件進(jìn)行數(shù)據(jù)處理的方法,本文通過(guò)實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 在python中對(duì)變量判斷是否為None的三種方法總結(jié)

    在python中對(duì)變量判斷是否為None的三種方法總結(jié)

    今天小編就為大家分享一篇在python中對(duì)變量判斷是否為None的三種方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • pytorch之torchvision.transforms圖像變換實(shí)例

    pytorch之torchvision.transforms圖像變換實(shí)例

    今天小編就為大家分享一篇pytorch之torchvision.transforms圖像變換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python設(shè)計(jì)模式之觀察者模式實(shí)例

    Python設(shè)計(jì)模式之觀察者模式實(shí)例

    這篇文章主要介紹了設(shè)計(jì)模式中的觀察者模式Python實(shí)例,需要的朋友可以參考下
    2014-04-04

最新評(píng)論