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

python庫fire使用教程

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

1.簡介

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

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

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()直接在程序中調用 fire.Fire(),不需要修改目標函數(shù),fire 會把當前模塊下的所有對象導出到命令行中

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

運行:

# 調用方式: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ù)導出到命令行

import fire

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

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

運行:

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

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

fire.Fire(<dict>)

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

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

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 會報錯,因為沒有導出

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

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

相關文章

  • python多線程threading.Lock鎖用法實例

    python多線程threading.Lock鎖用法實例

    這篇文章主要介紹了python多線程threading.Lock鎖用法,以實例形式對python鎖的用法進行了較為詳細的分析,需要的朋友可以參考下
    2014-11-11
  • python中的Elasticsearch操作匯總

    python中的Elasticsearch操作匯總

    這篇文章主要介紹了python中的Elasticsearch操作匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • 淺析Python中線程以及線程阻塞

    淺析Python中線程以及線程阻塞

    這篇文章主要為大家簡單介紹一下Python中線程以及線程阻塞的相關知識,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解一下
    2023-04-04
  • Django contrib auth authenticate函數(shù)源碼解析

    Django contrib auth authenticate函數(shù)源碼解析

    這篇文章主要介紹了Django contrib auth authenticate函數(shù)源碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Python Matplotlib繪制條形圖的全過程

    Python Matplotlib繪制條形圖的全過程

    Python畫圖主要用到matplotlib這個庫,具體來說是pylab和pyplot這兩個子庫,這兩個庫可以滿足基本的畫圖需求,下面這篇文章主要給大家介紹了關于Python Matplotlib繪制條形圖的相關資料,需要的朋友可以參考下
    2021-10-10
  • python數(shù)據(jù)結構之面向對象

    python數(shù)據(jù)結構之面向對象

    這篇文章主要介紹了python數(shù)據(jù)結構之面向對象,在python數(shù)據(jù)結構的上一章節(jié)我們講述了python的輸入輸出控制異常,希望大家重點掌握輸出和控制,這些都是比較簡單的啦,多看看就好了,接下來我們要講的是python面向對象,需要的朋友可以參考一下
    2021-12-12
  • 教你漂亮打印Pandas DataFrames和Series

    教你漂亮打印Pandas DataFrames和Series

    在今天的文章中,我們將探討如何配置所需的pandas選項,這些選項將使我們能夠“漂亮地打印” pandas DataFrames,需要的朋友可以參考下
    2021-05-05
  • 基于python 字符編碼的理解

    基于python 字符編碼的理解

    下面小編就為大家?guī)硪黄趐ython 字符編碼的理解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Python操作配置文件ini的三種方法講解

    Python操作配置文件ini的三種方法講解

    今天小編就為大家分享一篇關于Python操作配置文件ini的三種方法講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • chatGPT之Python?API啟用上下文管理案例詳解

    chatGPT之Python?API啟用上下文管理案例詳解

    chatGPT已經爆火一段時間了,我想大多數(shù)的開發(fā)者都在默默的在開發(fā)和測試當中,可能也是因為這個原因所以現(xiàn)在很難找到關于開發(fā)中遇到的一些坑或者方法和技巧,這篇文章主要介紹了chatGPT之Python?API啟用上下文管理,需要的朋友可以參考下
    2023-03-03

最新評論