如果現在有個工具,不需要你做任何額外工作,不必定義參數、設置幫助信息或寫一個主函數定義代碼如何運行,就能自動把你的代碼轉化成一個 CLI 的工具,你想要么?
沒錯,說的就是 Python Fire,通過它,你只需從主模塊調用 Fire
函數,Python Fire 會接管剩下的一切。它使用檢索將任何 Python 對象(無論是類、對象、字典、函數,甚至是整個模塊)轉化為命令行接口,并輸出標注標簽和文檔,并且指令行界面會隨著編碼的變化保持實時更新。
開源短短一年,Python Fire 已經獲得了 12501 個「star」以及 696 個「fork」(GitHub項目地址:https://github.com/google/python-fire)
看一個例子,你就知道它有多強大:
運行 Fire 函數時將會執行我們的命令。現在我們只需調用 Fire,就可以將 Example 類當作命令行實用程序來使用。
當然,您可以繼續像使用普通 Python 內容庫那樣使用此模塊,從而能夠從 Bash 和 Python 使用完全相同的代碼。如果你要編寫 Python 內容庫,則試用就不再需要更新 main 方法或客戶端;相反,你只需從命令行運行所試用的內容庫片段。即使內容庫發生變化,命令行工具也能即時更新。
那么,如何安裝 Python Fire呢?
● 如用 pip,則運行: pip install fire
● 如用 conda, 則運行:conda install fire -c conda-forge
● 如從源碼安裝,則先要 clone 本 repo,然后運行: python setup.py install
如果你已經迫不及待想用 Python Fire,不妨仔細參閱 Python Fire 指南:https://github.com/google/python-fire/blob/master/docs/guide.md