最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

庫的使用非常簡單。首先,您需要安裝Fire庫。您可以使用pip命令來安裝它:

pip install fire

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

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

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

python hello.py --name=John

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

Hello John!

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

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

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

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

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

5

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

補充:

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

之前介紹過PythonFire庫,一個用來生成命令行工具的的庫。
請參考:Python Fire:自動生成命令行接口

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

1. *args 型參數(shù)

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

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

使用起來很靈活,

$  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ù)名稱(比如第一個例子),按照順序第一參數(shù)賦值給school,其余的賦值給*names
  • *names參數(shù)支持不定長度的值
  • school參數(shù)指定參數(shù)名的話,可以放在任意的位置(比如上面第四個例子)。

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

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

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

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

使用示例如下:

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

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

3. 總結(jié)

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

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

相關(guān)文章

  • Python集中化管理平臺Ansible介紹與YAML簡介

    Python集中化管理平臺Ansible介紹與YAML簡介

    這篇文章主要介紹了Python集中化管理平臺Ansible介紹與YAML,簡單說明了集中化管理平臺Ansible的功能與YAML語言的基本語法與基本使用技巧,需要的朋友可以參考下
    2019-06-06
  • 解決Python獲取文件提示找不到指定路徑can‘t?open?file?'area.py':[Errno?2]?No?such?file?or?directory

    解決Python獲取文件提示找不到指定路徑can‘t?open?file?'area.py':

    這篇文章主要給大家介紹了關(guān)于如何解決Python獲取文件提示找不到指定路徑can‘t?open?file?'area.py':[Errno?2]?No?such?file?or?directory的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • Python Paramiko創(chuàng)建文件目錄并上傳文件詳解

    Python Paramiko創(chuàng)建文件目錄并上傳文件詳解

    Paramiko是一個用于進(jìn)行SSH2會話的Python庫,它支持加密、認(rèn)證和文件傳輸?shù)裙δ?本文旨在詳細(xì)指導(dǎo)新手朋友如何使用Python的Paramiko庫來創(chuàng)建遠(yuǎn)程文件目錄并上傳文件,希望對大家有所幫助
    2024-10-10
  • Python內(nèi)建模塊collections實現(xiàn)特殊容器數(shù)據(jù)類型

    Python內(nèi)建模塊collections實現(xiàn)特殊容器數(shù)據(jù)類型

    collections模塊是Python的內(nèi)建模塊之一,它實現(xiàn)了特殊的容器數(shù)據(jù)類型,提供了Python內(nèi)建的數(shù)據(jù)類型dict、list、set、和tuple的高效替代選擇
    2023-06-06
  • Django視圖和URL配置詳解

    Django視圖和URL配置詳解

    這篇文章主要介紹了Django視圖和URL配置詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Python中UiAutomation庫的使用

    Python中UiAutomation庫的使用

    UiAutomation庫主要用于自動化測試和 UI 操作的場景,本文就來介紹一下Python中UiAutomation庫的使用,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • Python實現(xiàn)輸出程序執(zhí)行進(jìn)度百分比的方法

    Python實現(xiàn)輸出程序執(zhí)行進(jìn)度百分比的方法

    這篇文章主要介紹了Python實現(xiàn)輸出程序執(zhí)行進(jìn)度百分比的方法,涉及Python數(shù)值運算與系統(tǒng)輸出相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • Python NumPy 數(shù)組索引的示例詳解

    Python NumPy 數(shù)組索引的示例詳解

    數(shù)組索引是指使用方括號([])來索引數(shù)組值,numpy提供了比常規(guī)的python序列更多的索引工具,除了按整數(shù)和切片索引之外,數(shù)組可以由整數(shù)數(shù)組索引、布爾索引及花式索引,這篇文章主要介紹了Python NumPy 數(shù)組索引,需要的朋友可以參考下
    2023-01-01
  • Python實現(xiàn)RGB等圖片的圖像插值算法

    Python實現(xiàn)RGB等圖片的圖像插值算法

    這篇文章主要介紹了通過Python實先圖片的以下三種插值算法:最臨近插值法、線性插值法以及雙線性插值法。感興趣的小伙伴們可以了解一下
    2021-11-11
  • python裝飾器的特性原理詳解

    python裝飾器的特性原理詳解

    這篇文章主要介紹了python裝飾器的特性原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12

最新評論

泾阳县| 澳门| 武乡县| 昭平县| 新和县| 仁怀市| 平乡县| 湖州市| 珲春市| 翁牛特旗| 揭西县| 佛教| 萝北县| 灵川县| 新丰县| 高唐县| 南通市| 页游| 鄂尔多斯市| 博客| 天全县| 杨浦区| 黑河市| 香格里拉县| 吉隆县| 那曲县| 镇赉县| 大理市| 沐川县| 岳阳县| 光泽县| 怀宁县| 石泉县| 霍林郭勒市| 民乐县| 西畴县| 丽江市| 宜州市| 时尚| 云南省| 永年县|