国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

谷歌開源 Python Fire:可自動生成命令行接口

2019-11-06 08:02:07
字體:
來源:轉載
供稿:網友

選自Google Open Source

谷歌開源 Python Fire:可自動生成命令行接口

今天我們很高興地宣布 Python Fire 開源。Python Fire 可從任何 Python 代碼生成命令行接口(command line interfaces (CLIs)),簡單地調用任意 Python 程序中的 Fire 函數以將那個程序自動地轉化為 CLI。該庫可通過 `pip install fire` 從 pypi 獲取,也可參考 Github 上的資源。

項目地址:https://github.com/google/python-fire

Python Fire 自動把你的代碼轉化成一個 CLI,而不需要你做任何額外工作。你不必定義參數、設置幫助信息或寫一個主函數定義代碼如何運行。相反地,你只需從主模塊調用 `Fire` 函數,Python Fire 會接管剩下的一切。它使用檢索將任何 Python 對象(無論是類、對象、字典、函數,甚至是整個模塊)轉化為命令行接口,并輸出標注標簽和文檔,并且指令行界面會隨著編碼的變化保持實時更新。

為了說明這一點,讓我們看一個簡單的例子

#!/usr/bin/env pythonimport fireclass Example(object):def hello(self, name='world'):"""Says hello to the specified name."""return 'Hello {name}!'.format(name=name)def main():fire.Fire(Example)if __name__ == '__main__':main()

當 Fire 函數運行時,我們的命令被執行。僅僅通過調用 Fire,現在我們可以把樣本類當作命令行工具來使用。

$ ./example.py helloHello world!$ ./example.py hello DavidHello David!$ ./example.py hello --name=GoogleHello Google!

當然你可以繼續像使用 Python 普通庫那樣使用這個模塊,從而你可以使用跟 Bash 和 Python 完全一樣的的代碼。如果你正在寫一個 python 庫,那么在試驗這個模塊的時候你就不需要更新你的主要方法(method)或客戶端。僅僅只需要以命令行的方式運行一部分你正在試驗的庫。即使這些庫改變了,該命令行工具仍然保持更新。

在 Google,工程師們使用 Python Fire 從 python 庫生成命令行工具。因為我們有使用 Python 圖像庫(Python Imaging Library/PIL)和 Fire 建立的圖像處理工具。在谷歌大腦,我們使用由 Fire 構建的實驗管理工具,該工具能夠和 Python 或 Bash 同等程度地管理實驗。

每個 Fire CLI 都帶有交互模式。運行 CLI 時使用「-interactive」旗標和命令行以及其他已定義的變量來登錄 IPython REPL。請務必查看 Python Fire 的文檔,從而了解 Fire 更多實用的特征。

因為 Python Fire 十分簡單、普遍和強大,我希望能為你的項目提供一個十分有效的庫。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湖北省| 建昌县| 易门县| 醴陵市| 滦南县| 丹寨县| 临朐县| 岳西县| 隆子县| 永修县| 三门峡市| 铁岭市| 深泽县| 合肥市| 南华县| 临清市| 岳阳县| 突泉县| 正定县| 琼结县| 渑池县| 鹿泉市| 潜山县| 阿坝| 湖州市| 稻城县| 台东市| 醴陵市| 固始县| 邻水| 南雄市| 安宁市| 仙桃市| 九寨沟县| 鲜城| 得荣县| 得荣县| 腾冲县| 米泉市| 霍州市| 丹东市|