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

python庫fire使用教程

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

1.簡介

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

但二者相比fire這個(gè)庫,用起來都不夠 “簡單”,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)計(jì)指定文件類型")
# 解析
args = parser.parse_args()
print(counter(args.file))

運(yùn)行:

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

click用法示例

# firetest.py

import click

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

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

運(yùn)行:

$ 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()

運(yùn)行:

# 調(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>)可以指定某個(gè)函數(shù)導(dǎo)出到命令行

import fire

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

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

運(yùn)行:

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

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

fire.Fire(<dict>)

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

例如,有加減乘3個(gè)函數(shù),我們可以選擇性的選擇其中2個(gè)導(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,
    })

運(yùn)行:

$ python firetest.py add 1 4
5
$ python firetest.py subtract 1 4
-3
$ python firetest.py multiply 1 4
# multiply 會報(bào)錯,因?yàn)闆]有導(dǎo)出

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

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)

運(yùn)行:

$ 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安裝詳細(xì)教程

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

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

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

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

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

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

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

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

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

    這篇文章介紹了Python TensorFlow介紹與實(shí)戰(zhàn),通過本文的介紹,我們不僅了解了TensorFlow的基本概念和安裝方法,還通過線性回歸和卷積神經(jīng)網(wǎng)絡(luò)的實(shí)例,深入探討了 TensorFlow 的使用技巧,TensorFlow 的強(qiáng)大功能和靈活性使其成為深度學(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)境配置的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 掌握python polars庫進(jìn)行高效高速的數(shù)據(jù)處理。

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

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

    一文詳細(xì)聊一聊Python中的下劃線“_”們

    Python中的下劃線(_)有多種用途,包括特殊方法、內(nèi)部變量、避免關(guān)鍵字沖突、名稱修飾、臨時(shí)變量和忽略變量等,這篇文章主要介紹了Python中的一些下劃線“_”們,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    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分享,常用的開源項(xiàng)目包括WEB開發(fā)框架、工具包、數(shù)據(jù)庫操作包、網(wǎng)絡(luò)操作包等,需要的朋友可以參考下
    2015-02-02

最新評論

宝应县| 白玉县| 左贡县| 城市| 平凉市| 姚安县| 南江县| 新河县| 马尔康县| 增城市| 竹北市| 慈溪市| 湟中县| 万州区| 锡林浩特市| 耿马| 达州市| 芮城县| 通河县| 新宁县| 德保县| 许昌县| 邢台县| 琼结县| 尉氏县| 繁昌县| 桦川县| 准格尔旗| 恩施市| 兴城市| 安塞县| 吉木乃县| 长海县| 韶关市| 伊春市| 米林县| 南汇区| 科技| 南部县| 大城县| 德兴市|