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

python庫fire使用教程

 更新時間:2025年01月17日 08:31:57   作者:Python熱愛者  
本文主要介紹了python庫fire使用教程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1.簡介

目前python命令行解析庫用過的有:argparse(python自帶)、click(Flask作者寫的)

但二者相比fire這個庫,用起來都不夠 “簡單”,fire一行代碼能把函數(shù)導(dǎo)出到命令行窗口。

argparse用法示例

# arg_test.py

import argparse

def counter(file_type=None):
    return {file_type: 100}

# 初始化解析器
parser = argparse.ArgumentParser()
# 定義參數(shù)
parser.add_argument("-f", "--file", help="統(tǒng)計指定文件類型")
# 解析
args = parser.parse_args()
print(counter(args.file))

運行:

$ python arg_test.py -f python
{'python': 100}

click用法示例

# firetest.py

import click

@click.command()
@click.option("-f", "--file", help="統(tǒng)計制定文件類型")
def counter(file=None):
    click.echo({file: 100})

if __name__ == '__main__':
    print(counter())

運行:

$ python firetest.py -f python
{u'python': 100}

2. fire安裝

# pip安裝:pip install fire
# conda安裝:conda install fire -c conda-forge
# 源碼安裝: git拿到代碼,執(zhí)行:python setup.py install

3. fire使用示例

fire.Fire()直接在程序中調(diào)用 fire.Fire(),不需要修改目標(biāo)函數(shù),fire 會把當(dāng)前模塊下的所有對象導(dǎo)出到命令行中

# firetest.py

import fire

def foo(name):
    return 'foo {name}!'.format(name=name)

def bar(name):
    return "bar {name}".format(name=name)

if __name__ == '__main__':
    fire.Fire()

運行:

# 調(diào)用方式:python [文件名] [函數(shù)名] [參數(shù)]

# 函數(shù)名后面直接跟參數(shù)值
$ python firetest.py foo hello
foo hello!
# 也可以顯示地先指定參數(shù)名,再跟參數(shù)值
$ python firetest.py bar --name hello
bar hello!

fire.Fire(<function>)可以指定某個函數(shù)導(dǎo)出到命令行

import fire

def foo(name):
    return 'foo {name}!'.format(name=name)

if __name__ == '__main__':
    fire.Fire(foo)

運行:

# 調(diào)用方式:python [函數(shù)名] [參數(shù)]
$ python firetest.py hello
foo hello!

當(dāng) Fire 接收函數(shù) foo 作為參數(shù)時,只加載 foo 函數(shù)到命令行中,此時,在命令行中運行時也無需再指定函數(shù)名字,只需要指定參數(shù)就好。

fire.Fire(<dict>)

Fire 不僅可以接收函數(shù),還可以接收字典對象作為參數(shù),可在字典中配置那些函數(shù)需要導(dǎo)出到命令行中。

例如,有加減乘3個函數(shù),我們可以選擇性的選擇其中2個導(dǎo)出到命令行:

import fire

def add(x, y):
    return x + y

def multiply(x, y):
    return x * y

def subtract(x, y):
    return x - y

if __name__ == '__main__':
    fire.Fire({
        'add': add,
        'subtract': subtract,
    })

運行:

$ python firetest.py add 1 4
5
$ python firetest.py subtract 1 4
-3
$ python firetest.py multiply 1 4
# multiply 會報錯,因為沒有導(dǎo)出

fire.Fire(<object>)還可以接收類的實例對象

import fire

class Calculator(object):

  def add(self, x, y):
    return x + y

  def multiply(self, x, y):
    return x * y

if __name__ == '__main__':
  calculator = Calculator()
  fire.Fire(calculator)

運行:

$ python firetest.py add 10 20
30
$ python firetest.py multiply 10 20
200

到此這篇關(guān)于python庫fire使用教程的文章就介紹到這了,更多相關(guān)python fire內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python IDE環(huán)境之 新版Pycharm安裝詳細教程

    Python IDE環(huán)境之 新版Pycharm安裝詳細教程

    這篇文章主要介紹了Python IDE環(huán)境之 新版Pycharm安裝教程,本文教程給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Python實現(xiàn)爬取某站視頻彈幕并繪制詞云圖

    Python實現(xiàn)爬取某站視頻彈幕并繪制詞云圖

    這篇文章主要介紹了利用Python爬取某站的視頻彈幕,并將其繪制成詞云圖,文中的示例代碼講解詳細,對我學(xué)習(xí)Python爬蟲有一定的幫助,需要的朋友可以參考一下
    2021-12-12
  • python使用yield壓平嵌套字典的超簡單方法

    python使用yield壓平嵌套字典的超簡單方法

    這篇文章主要給大家介紹了關(guān)于python使用yield壓平嵌套字典的超簡單方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Pytorch自定義CNN網(wǎng)絡(luò)實現(xiàn)貓狗分類詳解過程

    Pytorch自定義CNN網(wǎng)絡(luò)實現(xiàn)貓狗分類詳解過程

    PyTorch是一個開源的Python機器學(xué)習(xí)庫,基于Torch,用于自然語言處理等應(yīng)用程序。它不僅能夠?qū)崿F(xiàn)強大的GPU加速,同時還支持動態(tài)神經(jīng)網(wǎng)絡(luò)。本文將介紹PyTorch自定義CNN網(wǎng)絡(luò)實現(xiàn)貓狗分類,感興趣的可以學(xué)習(xí)一下
    2022-12-12
  • Python TensorFlow介紹與實戰(zhàn)

    Python TensorFlow介紹與實戰(zhàn)

    這篇文章介紹了Python TensorFlow介紹與實戰(zhàn),通過本文的介紹,我們不僅了解了TensorFlow的基本概念和安裝方法,還通過線性回歸和卷積神經(jīng)網(wǎng)絡(luò)的實例,深入探討了 TensorFlow 的使用技巧,TensorFlow 的強大功能和靈活性使其成為深度學(xué)習(xí)領(lǐng)域的重要工具,需要的朋友可以參考下
    2024-07-07
  • OpenCV4.1.0+VS2017環(huán)境配置的方法步驟

    OpenCV4.1.0+VS2017環(huán)境配置的方法步驟

    這篇文章主要介紹了OpenCV4.1.0+VS2017環(huán)境配置的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 掌握python polars庫進行高效高速的數(shù)據(jù)處理。

    掌握python polars庫進行高效高速的數(shù)據(jù)處理。

    這篇文章主要介紹了python polars庫進行高效高速的數(shù)據(jù)處理技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • 一文詳細聊一聊Python中的下劃線“_”們

    一文詳細聊一聊Python中的下劃線“_”們

    Python中的下劃線(_)有多種用途,包括特殊方法、內(nèi)部變量、避免關(guān)鍵字沖突、名稱修飾、臨時變量和忽略變量等,這篇文章主要介紹了Python中的一些下劃線“_”們,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-12-12
  • python中關(guān)于對super()函數(shù)疑問解惑

    python中關(guān)于對super()函數(shù)疑問解惑

    Python中的super()是用于調(diào)用父類(或父類的父類...)方法的函數(shù),主要用于多繼承,單繼承問題不大,下面這篇文章主要給大家介紹了關(guān)于python中關(guān)于對super()函數(shù)疑問解惑的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • Python開發(fā)常用的一些開源Package分享

    Python開發(fā)常用的一些開源Package分享

    這篇文章主要介紹了Python開發(fā)常用的一些開源Package分享,常用的開源項目包括WEB開發(fā)框架、工具包、數(shù)據(jù)庫操作包、網(wǎng)絡(luò)操作包等,需要的朋友可以參考下
    2015-02-02

最新評論

肇东市| 田阳县| 板桥市| 佛坪县| 淳化县| 金阳县| 浏阳市| 嘉定区| 平遥县| 涟水县| 阿拉善右旗| 保德县| 林甸县| 吉林省| 江北区| 淮阳县| 根河市| 绥阳县| 化德县| 勃利县| 黄浦区| 遂平县| 崇信县| 赣州市| 德阳市| 白城市| 新田县| 中西区| 玉田县| 政和县| 福安市| 元江| 广宗县| 平谷区| 承德市| 工布江达县| 乌拉特中旗| 磐石市| 额敏县| 邛崃市| 泰和县|