這個(gè)Python庫(kù)要火!可自動(dòng)生成命令行接口

如果現(xiàn)在有個(gè)工具,不需要你做任何額外工作,不必定義參數(shù)、設(shè)置幫助信息或?qū)懸粋€(gè)主函數(shù)定義代碼如何運(yùn)行,就能自動(dòng)把你的代碼轉(zhuǎn)化成一個(gè) CLI 的工具,你想要么?

沒(méi)錯(cuò),說(shuō)的就是 Python Fire,通過(guò)它,你只需從主模塊調(diào)用 Fire 函數(shù),Python Fire 會(huì)接管剩下的一切。它使用檢索將任何 Python 對(duì)象(無(wú)論是類(lèi)、對(duì)象、字典、函數(shù),甚至是整個(gè)模塊)轉(zhuǎn)化為命令行接口,并輸出標(biāo)注標(biāo)簽和文檔,并且指令行界面會(huì)隨著編碼的變化保持實(shí)時(shí)更新。

這個(gè)Python庫(kù)要火!可自動(dòng)生成命令行接口
這個(gè)Python庫(kù)要火!可自動(dòng)生成命令行接口

開(kāi)源短短一年,Python Fire 已經(jīng)獲得了 12501 個(gè)「star」以及 696 個(gè)「fork」(GitHub項(xiàng)目地址:https://github.com/google/python-fire

看一個(gè)例子,你就知道它有多強(qiáng)大:

這個(gè)Python庫(kù)要火!可自動(dòng)生成命令行接口

運(yùn)行 Fire 函數(shù)時(shí)將會(huì)執(zhí)行我們的命令?,F(xiàn)在我們只需調(diào)用 Fire,就可以將 Example 類(lèi)當(dāng)作命令行實(shí)用程序來(lái)使用。

這個(gè)Python庫(kù)要火!可自動(dòng)生成命令行接口

當(dāng)然,您可以繼續(xù)像使用普通 Python 內(nèi)容庫(kù)那樣使用此模塊,從而能夠從 Bash 和 Python 使用完全相同的代碼。如果你要編寫(xiě) Python 內(nèi)容庫(kù),則試用就不再需要更新 main 方法或客戶(hù)端;相反,你只需從命令行運(yùn)行所試用的內(nèi)容庫(kù)片段。即使內(nèi)容庫(kù)發(fā)生變化,命令行工具也能即時(shí)更新。

那么,如何安裝 Python Fire呢?

● 如用 pip,則運(yùn)行: pip install fire

● 如用 conda, 則運(yùn)行:conda install fire -c conda-forge

● 如從源碼安裝,則先要 clone 本 repo,然后運(yùn)行: python setup.py install

如果你已經(jīng)迫不及待想用 Python Fire,不妨仔細(xì)參閱 Python Fire 指南:https://github.com/google/python-fire/blob/master/docs/guide.md

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容