国产毛多水多高潮高清,久热这里只有精品视频6,国内精品久久久久久久久电影网,国产男同志CHINA69,精品999日本久久久影院,人人妻人人澡人人爽人人精品,亚洲中文无码永久免

FastAPI的小兄弟,开发命令行工具更给力-新宝2平台登陆地址

FastAPI的小兄弟,开发命令行工具更给力

2026-01-17 23:43:59投稿人:樂(lè)和彩平特一肖(河池)有限公司圍觀76263 評(píng)論

FastAPI的小兄弟 ,開(kāi)發(fā)命令行工具更給力FastAPI的小兄弟,開(kāi)發(fā)命令行工具更給力

FastAPI的開(kāi)發(fā)組織叫做tiangolo,他家除了FastAPI外,還有另一個(gè)項(xiàng)目也非常好用  ,叫做typer  。

三年前,我寫過(guò)一篇文章一日一技:快速實(shí)現(xiàn)Python 命令行參數(shù)介紹另一個(gè)命令行工具fire. 而typer做得比f(wàn)ire還要好 。

首先使用pip來(lái)安裝它:

python3 -m pip install typer

函數(shù)參數(shù)等于命令行參數(shù)

我們首先來(lái)看看typer怎么使用  。創(chuàng)建一個(gè)example_1.py文件,寫入如下代碼。

import typer


def main(name: str, salary: int):
print(f'{ name}月薪{ salary}元')


if __name__ == '__main__':
typer.run(main)

直接運(yùn)行  ,Python會(huì)報(bào)錯(cuò) :

FastAPI的小兄弟,開(kāi)發(fā)命令行工具更給力

使用參數(shù)--help可以查看這個(gè)腳本的命令行參數(shù) :

FastAPI的小兄弟	,開(kāi)發(fā)命令行工具更給力

于是我們根據(jù)這里的提示,輸入正確的參數(shù) ,從而正常運(yùn)行程序:

FastAPI的小兄弟,開(kāi)發(fā)命令行工具更給力

子命令與自動(dòng)補(bǔ)全更好用

假設(shè)我們有一個(gè)神經(jīng)網(wǎng)絡(luò)的程序 ,其中的入口函數(shù)代碼如下  :

def train_data(train_folder: str, test_folder: str, rate: float = 0.8):
"""
訓(xùn)練人臉檢測(cè)模型
"""
print(f'使用文件夾{ train_folder}中的數(shù)據(jù)進(jìn)行訓(xùn)練')
print(f'使用{ test_folder}中的數(shù)據(jù)用來(lái)驗(yàn)證訓(xùn)練效果,確保準(zhǔn)確率>{ rate}')
return True

def predict(folder: str):
"""
使用訓(xùn)練好的模型預(yù)測(cè)
"""
print(f'對(duì)文件夾{ folder}中的數(shù)據(jù)進(jìn)行預(yù)測(cè)。')

顯然 ,這個(gè)程序可以用來(lái)訓(xùn)練數(shù)據(jù),也可以用來(lái)預(yù)測(cè)數(shù)據(jù) ,所以有兩種不同的命令,每一種命令有不同的參數(shù) 。

這種情況下 ,使用typer非常方便,只需要加兩個(gè)裝飾器就可以了:

FastAPI的小兄弟
,開(kāi)發(fā)命令行工具更給力

運(yùn)行效果如下圖所示:

FastAPI的小兄弟,開(kāi)發(fā)命令行工具更給力

輸入具體的子命令 ,還可以查看每個(gè)子命令的參數(shù) :

FastAPI的小兄弟,開(kāi)發(fā)命令行工具更給力

因此,我可以使用兩個(gè)不同的子命令來(lái)運(yùn)行程序 :

FastAPI的小兄弟	,開(kāi)發(fā)命令行工具更給力

你以為這樣就完了?我們?cè)侔惭b它的一個(gè)輔助工具typer-cli ,還可以做更多事情 :

python3 -m pip install typer-cli
typer --install-completion

有了這個(gè)東西 ,我們運(yùn)行程序可以這樣寫:

typer example_2.py run 子命令 參數(shù)1 參數(shù)2 --可選參數(shù)1 可選參數(shù)1的值

例如 :

FastAPI的小兄弟,開(kāi)發(fā)命令行工具更給力

并且  ,typer可以幫我們可以實(shí)現(xiàn)自動(dòng)補(bǔ)全 :

輸入typer example_2.py run然后按下Tab鍵,自動(dòng)告訴你可以輸入哪些子命令 ,如下圖所示 :

FastAPI的小兄弟,開(kāi)發(fā)命令行工具更給力

除此之外 ,如果你的命令行程序只有一個(gè)命令 ,那么你甚至只需要寫一個(gè)函數(shù),連typer都不需要導(dǎo)入,就可以使用typer來(lái)運(yùn)行