如果現(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í)更新。
開(kāi)源短短一年,Python Fire 已經(jīng)獲得了 12501 個(gè)「star」以及 696 個(gè)「fork」(GitHub項(xiàng)目地址:https://github.com/google/python-fire)
看一個(gè)例子,你就知道它有多強(qiáng)大:
運(yùn)行 Fire 函數(shù)時(shí)將會(huì)執(zhí)行我們的命令?,F(xiàn)在我們只需調(diào)用 Fire,就可以將 Example 類(lèi)當(dāng)作命令行實(shí)用程序來(lái)使用。
當(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