如果現(xiàn)在有個工具正勒,不需要你做任何額外工作,不必定義參數(shù)傻铣、設(shè)置幫助信息或?qū)懸粋€主函數(shù)定義代碼如何運行章贞,就能自動把你的代碼轉(zhuǎn)化成一個 CLI 的工具,你想要么非洲?
沒錯鸭限,說的就是 Python Fire,通過它怪蔑,你只需從主模塊調(diào)用 Fire
函數(shù)里覆,Python Fire 會接管剩下的一切。它使用檢索將任何 Python 對象(無論是類缆瓣、對象喧枷、字典、函數(shù)弓坞,甚至是整個模塊)轉(zhuǎn)化為命令行接口隧甚,并輸出標(biāo)注標(biāo)簽和文檔,并且指令行界面會隨著編碼的變化保持實時更新渡冻。
開源短短一年族吻,Python Fire 已經(jīng)獲得了 12501 個「star」以及 696 個「fork」(GitHub項目地址:https://github.com/google/python-fire)
看一個例子帽借,你就知道它有多強(qiáng)大:
運行 Fire 函數(shù)時將會執(zhí)行我們的命令〕瑁現(xiàn)在我們只需調(diào)用 Fire砍艾,就可以將 Example 類當(dāng)作命令行實用程序來使用。
當(dāng)然脆荷,您可以繼續(xù)像使用普通 Python 內(nèi)容庫那樣使用此模塊,從而能夠從 Bash 和 Python 使用完全相同的代碼。如果你要編寫 Python 內(nèi)容庫蜓谋,則試用就不再需要更新 main 方法或客戶端梦皮;相反,你只需從命令行運行所試用的內(nèi)容庫片段桃焕。即使內(nèi)容庫發(fā)生變化剑肯,命令行工具也能即時更新。
那么观堂,如何安裝 Python Fire呢退子?
● 如用 pip,則運行: pip install fire
● 如用 conda, 則運行:conda install fire -c conda-forge
● 如從源碼安裝型将,則先要 clone 本 repo寂祥,然后運行: python setup.py install
如果你已經(jīng)迫不及待想用 Python Fire,不妨仔細(xì)參閱 Python Fire 指南:https://github.com/google/python-fire/blob/master/docs/guide.md