Python之打造专属Python开发者的完美终端工具Rich
生活随笔
收集整理的這篇文章主要介紹了
Python之打造专属Python开发者的完美终端工具Rich
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、前言
- Rich 是一個 Python 庫,可以在終端中提供富文本和漂亮、精美的格式。
- 使用 Rich API 可以很容易的在終端輸出添加各種顏色和不同風格,它可以繪制漂亮的表格,進度條,markdown,突出顯示語法的源代碼及回溯等,優秀的功能不勝枚舉。
二、Rich 兼容性
- Rich 適用于 Linux,OSX 和 Windows。可與新的 Windows 終端一起使用,Windows 的經典終端僅限 8 種顏色。
- Rich 還可以與 Jupyter NoteBook 一起使用,而無需其他配置。
三、Rich 安裝說明
① Python 安裝
- 在 windows 上安裝 Python:
-
- 下載 Python 的最新版本:訪問鏈接 Python 官網,在 Windows 操作系統上安裝 Python 3.10.0,大家也可以自行選擇最新版的下載。
-
- 進入下一個頁面后,拉到最下面,選擇 Windows embeddable package (64-bit) 下載:
-
- 雙擊下載完成的應用程序,記得一定要勾選 ADD Python 3.7 to PATH,否則 cmd 無法運行 Python,然后選擇 Install Now 進行安裝,默認會安裝 pip,而且將安裝到 C 盤(推薦)。如果希望換一個盤安裝,可以點擊 Customize installation 在里面選擇其他的盤。
- 在 macOS 上安裝 Python:
-
- 其實 macOS 上是默認安裝了 Python 的,只不過版本是 Python2.7,其相對于現在的 Python 3 缺少了很多特性,而且速度也比 Python 3 慢,因此還是建議大家裝 Python 3。
-
- 同樣地,下載 Python 的最新版本,訪問鏈接:Python 官網,在 macOS 操作系統上安裝 Python 3.7.4,大家也可以自行選擇最新版的下載。
-
- 進入下一個頁面后,拉到最下面,選擇 macOS 64-bit universal2 installer 下載:
-
- 下載完成后得到一個 pkg 文件,雙擊打開,按照指示步驟進行安裝即可。
② 安裝依賴
- 請選擇以下任一種方式輸入命令安裝依賴:
-
- Windows 環境打開 Cmd (開始 - 運行 - CMD);
-
- MacOS 環境打開 Terminal (command + 空格輸入 Terminal);
-
- 如果使用的是 VSCode 編輯器或 Pycharm,可以直接使用界面下方的 Terminal。
四、Rich 的 Print 功能
- 想毫不費力地將 Rich 的輸出功能添加到 Python 腳本程序中,只需導入 rich print 方法,該方法和其他 Python 的自帶功能的參數類似:
- 可以看到,基于 rich 的 print 方法輸出的內容都是帶顏色、帶重點的,相比于 Python 自帶的 print 有明顯的優勢。
五、自定義 Console 控制臺輸出
- 想要對 Rich 終端內容進行更多的自定義設置,需要導入并構造一個控制臺對象:
- Console 對象含有一個 print 方法,它的界面與 python 內置的 print 功能相似:
- 可能你已經料到,這時終端上會顯示“ Hello World!”,請注意,與內置的“打印”功能不同,Rich 會將文字自動換行以適合終端寬度。
- 有幾種方法可以為輸出添加自定義顏色和樣式,可以通過添加 style 關鍵字參數來為整個輸出設置樣式,如下:
- 輸出如下圖:
- 這個示例一次只設置了一行文字的樣式,如果想獲得更細膩更復雜的樣式,Rich 可以渲染一個特殊的標記,其語法類似于 bbcode。示例如下:
六、Console 控制臺記錄
- Console 對象具有一個 log() 方法,該方法具有與 print() 類似的界面,除此之外,還能顯示當前時間以及被調用的文件和行。
- 默認情況下,Rich 將針對 Python 結構和 repr 字符串進行語法突出顯示。如果記錄一個集合(如字典或列表),Rich 會把它漂亮地打印出來,使其切合可用空間。如下,是其中一些功能的示例:
- 以上示例的輸出如下:
- 注意其中的 log_locals 參數會輸出一個表格,該表格包含調用 log 方法的局部變量。log 方法既可用于將長時間運行應用程序(例如服務器)的日志記錄到終端,也可用于輔助調試。
- Logging 處理程序:還可以使用內置的處理類來對 Python 日志記錄模塊的輸出進行格式化和著色。下面是輸出示例:
七、 表情符號
- 將名稱放在兩個冒號之間即可在控制臺輸出中插入表情符號。示例如下:
- 注意:請謹慎使用此功能。
八、表格
- Rich 包含多種邊框,樣式,單元格對齊等格式設置的選項。下面是一個簡單的示例:
- 該示例的輸出如下:
- 注意,控制臺標記的呈現方式與 print() 和 log() 相同。實際上,由 Rich 渲染的任何內容都可以添加到標題/行(甚至其他表格)中。
- Table 類很聰明,可以調整列的大小以適合終端的可用寬度,并能根據需要做文本環繞的處理。如下,是相同的示例,輸出與比上表小的終端上:
九、進度條
- Rich 可以渲染多個不閃爍的進度條形圖,以跟蹤長時間運行的任務。
- 基本用法:用 track 函數調用程序并迭代結果,如下所示:
- 添加多個進度條并不難,如下所示:
- 這些列可以配置為顯示所需的任何詳細信息。內置列包括完成百分比,文件大小,文件速度和剩余時間。如下所示,顯示正在進行的下載示例:
- 它可以在顯示進度的同時下載多個 URL。
十、按列輸出數據
- Rich 可以將內容通過排列整齊的,具有相等或最佳的寬度的列來呈現。如下,(macOS / Linux) ls 命令的一個非常基本的克隆,用列來顯示目錄列表:
- 以下屏幕截圖是列示例的輸出,該列顯示了從 API 提取的數據:
十一、Markdown
- Rich 可以呈現markdown,相當不錯的將其格式顯示到終端。
- 為了渲染 markdown,請導入 Markdown 類,將其打印到控制臺。如下:
- 該示例的輸出如下圖:
十二、語法突出顯示
- Rich 使用 pygments 庫來實現語法高亮顯示,用法類似于渲染 markdown,構造一個 Syntax 對象并將其打印到控制臺,如下所示:
- 輸出如下:
十三、錯誤回溯(traceback)
- Rich 可以渲染漂亮的錯誤回溯日志,比標準的 Python 回溯更容易閱讀,并能顯示更多代碼。可以將 Rich 設置為默認的回溯處理程序,這樣所有異常都將由 Rich 呈現。
- 如下,在 OSX(與 Linux 類似)上的外觀:
總結
以上是生活随笔為你收集整理的Python之打造专属Python开发者的完美终端工具Rich的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python之精心整理的50道入门练手习
- 下一篇: Python之深入解析一行代码计算每个省