Python Fire開源—用於自動生成命令列介面的內容庫
文 | Google Brain 軟體工程師 David Bieber
我們高興地宣佈 Python Fire 將開放原始碼。Python Fire 可根據任何 Python 程式碼生成命令列介面 (CLI)。只需在任何 Python 程式中呼叫 Fire 函式,便可自動將該程式轉變成 CLI。
這個內容庫可通過“pip install fire”從 pypi 獲得:
pypi.python.org/pypi/fire
其原始碼在 GitHub 上公開:
github.com/google/python-fire
Python Fire 可自動將您的程式碼轉變成 CLI,無需您做任何額外工作。您不必定義引數,設定幫助資訊,或者編寫定義程式碼執行方式的 main 函式。相反,您只需從 main 模組呼叫“Fire”函式,其餘工作全部交由 Python Fire 來完成。它利用檢查將您提供的任何 Python 物件(無論是類、物件、字典、函式甚至整個模組)轉變成一個 Tab 命令補全和文件齊備的命令列介面,並且這個 CLI 甚至能在程式碼發生變化時即時更新。
讓我們通過一個簡單的示例加以說明:
執行 Fire 函式時將會執行我們的命令。現在我們只需呼叫 Fire,就可以將 Example 類當作命令列實用程式來使用。
當然,您可以繼續像使用普通 Python 內容庫那樣使用此模組,從而能夠從 Bash 和 Python 使用完全相同的程式碼。如果您要編寫 Python 內容庫,則試用就不再需要更新 main 方法或客戶端;相反,您只需從命令列執行所試用的內容庫片段。即使內容庫發生變化,命令列工具也能即時更新。
在 Google,工程師們利用 Python Fire 根據 Python 內容庫生成命令列工具。我們的一個影象處理工具就是將 Fire 與 Python 成像內容庫 (PIL) 配合使用生成的。在 Google Brain 團隊,我們使用的試驗管理工具也是使用 Fire 生成的,通過它從 Python 或 Bash 管理試驗的效果同樣好。
每個 Fire CLI 都自帶互動模式。執行 CLI 時帶“--interactive”標誌可啟動一個 IPython REPL,其中包含命令的結果以及其他已經定義並可隨時使用的有用變數。請務必檢視 Python Fire 的文件,瞭解 Fire 提供的這項功能以及其他有用功能的更多資訊。
考慮到 Python Fire 簡單易用、通用性強並且功能強大,我們希望您能在自己的專案中發現它的用武之地。
3.19 Google Doodle: 2017 父親節(玻利維亞、克羅埃西亞、宏都拉斯、義大利、葡萄牙、西班牙)
相關文章
- python製作命令列工具——firePython命令列
- 4個用於構建優秀命令列使用者介面的Python庫命令列Python
- 巧用Google Fire簡化Python命令列程式GoPython命令列
- 介紹一款用於搞亂資料庫ID的開源Python庫資料庫Python
- Bootstrap Blazor 元件介紹 Table (一)自動生成列功能介紹bootBlazor元件
- 命令列技巧:分割檔案內容命令列
- Apache Isis:基於領域驅動自動生成SpringBoot介面的快速CRUD開發工具ApacheSpring Boot
- 用 Plumbum 開發 Python 命令列工具Python命令列
- TMPG ENC的開源替代品(內容由OpenAI 生成)OpenAI
- golang常用庫:cli命令列/應用程式生成工具-cobra使用Golang命令列
- 基於Dapper的開源Lambda擴充套件,且支援分庫分表自動生成實體APP套件
- 文章內容提取庫 goose 簡介Go
- 基於 Laravel 命令列開發 API 程式碼生成器Laravel命令列API
- python 爬蟲如何爬取動態生成的網頁內容Python爬蟲網頁
- 基於Dapper的開源Lambda擴充套件,且支援自動生成實體APP套件
- PodLM.ai播客內容生成平臺介紹AI
- BigCode:使用AI自動生成程式碼的開源工具GCAI開源工具
- 簡單介紹python自動化運維常用庫Python運維
- XCharts 開源庫介紹
- 微軟開源 Python 自動化神器 Playwright微軟Python
- python自動開啟瀏覽器下載zip,並且提取內容寫入excelPython瀏覽器Excel
- Sql Server資料庫如何去掉內容裡面的Html標籤SQLServer資料庫HTML
- Linux命令列:對內容進行大小寫字元轉換 Linux命令列字元
- 用 ai 自動生成 unit testAI
- 阿里最強 Python 自動化工具開源了!阿里Python
- 實現一個自動生成小學四則運算題目的命令列程式命令列
- 開源神器:自動生成隨機 mock 資料測試物件隨機Mock物件
- python實戰-基於正交實驗(工具:allpairs)自動生成介面異常測試用例PythonAI
- 簡單的Css控制bootstrap內容頁面的img寬度自適應CSSboot
- 命令列生成jar檔案命令列JAR
- 實現動態自動匹配輸入的內容
- 最全面的vue開源專案庫彙總Vue
- 簡單介紹Pytorch實現WGAN用於動漫頭像生成PyTorch
- mysql資料庫語句自動生成MySql資料庫
- 自動的自動化:EvoSuite 自動生成JUnit的測試用例UI
- Go 語言,開源服務端程式碼自動生成 框架 – EasyGoServerGo服務端框架Server
- 命令列應用開發初學者指南:腳手架篇、UI 庫和互動工具命令列UI
- 學習內容介紹
- KiteCms 是一個基於ThinkPHP5.0.9開發的開源內容管理系統PHP