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 Fire 0.1.1 釋出命令列Python
- python製作命令列工具——firePython命令列
- 4個用於構建優秀命令列使用者介面的Python庫命令列Python
- 巧用Google Fire簡化Python命令列程式GoPython命令列
- 資料庫鍵方面的內容資料庫
- 介紹一款用於搞亂資料庫ID的開源Python庫資料庫Python
- Bootstrap Blazor 元件介紹 Table (一)自動生成列功能介紹bootBlazor元件
- 命令列技巧:分割檔案內容命令列
- 用於構建優秀命令列的 4 個 Python 庫命令列Python
- TMPG ENC的開源替代品(內容由OpenAI 生成)OpenAI
- Apache Isis:基於領域驅動自動生成SpringBoot介面的快速CRUD開發工具ApacheSpring Boot
- 用 Plumbum 開發 Python 命令列工具Python命令列
- 直接用 java 命令列動態生成jpg檔案 (轉)Java命令列
- 文章內容提取庫 goose 簡介Go
- 基於Dapper的開源Lambda擴充套件,且支援分庫分表自動生成實體APP套件
- Jease 開源內容管理框架框架
- golang常用庫:cli命令列/應用程式生成工具-cobra使用Golang命令列
- 基於 Laravel 命令列開發 API 程式碼生成器Laravel命令列API
- python 爬蟲如何爬取動態生成的網頁內容Python爬蟲網頁
- 《軟體自動化測試成功之道》內容簡介和前言
- 基於Dapper的開源Lambda擴充套件,且支援自動生成實體APP套件
- PodLM.ai播客內容生成平臺介紹AI
- elasticsearch裡面的內容搜尋Elasticsearch
- 基於命令列的WINCE驅動開發工具命令列
- 自動化管理框架下的內容框架
- 【LaTeX入門】09、隨機生成幾段內容的命令隨機
- python自動開啟瀏覽器下載zip,並且提取內容寫入excelPython瀏覽器Excel
- 微軟開源 Python 自動化神器 Playwright微軟Python
- XCharts 開源庫介紹
- 用 ai 自動生成 unit testAI
- NIST的安全內容自動化協議(SCAP)以及SCAP中文社群簡介協議
- Sql Server資料庫如何去掉內容裡面的Html標籤SQLServer資料庫HTML
- BigCode:使用AI自動生成程式碼的開源工具GCAI開源工具
- 開源神器:自動生成隨機 mock 資料測試物件隨機Mock物件
- Odin —— 用於構建命令列應用的 Go 開發包命令列Go
- Python 開發命令列工具Python命令列
- 簡單介紹python自動化運維常用庫Python運維
- 實現動態自動匹配輸入的內容