Python里pprint美觀打印 復雜數據結構美觀輸出pprint的格式化

python中處理復雜數據結構時,使用pprint模塊能更清晰地打印輸出。1. 基本使用是將print()替換為pprint.pprint()以實現美觀格式;2. 通過width參數控制每行最大字符數;3. 使用indent設置縮進級別,sort_dicts控制字典鍵的排序;4. pformat()函數可生成格式化字符串以便記錄日志或寫入文件。

python中處理復雜數據結構時,普通print()函數輸出的格式往往不夠清晰,尤其嵌套層級多的時候根本看不明白。這時候就需要用到pprint模塊了。

pprint(pretty-print)就是“美觀打印”的意思,它能自動換行、縮進,讓字典、列表、元組等結構更易讀。特別是調試代碼或查看大型數據時,用pprint會舒服很多。


1. 基本使用:替換print,直接打印

最簡單的用法是把原本的print()換成pprint.pprint():

import pprint  data = {     'name': 'Alice',     'age': 30,     'hobbies': ['reading', 'cycling', 'coding'],     'address': {'city': 'Beijing', 'zip': '100000'} }  pprint.pprint(data)

輸出結果會比普通print更整齊,比如每個層級都會縮進,長列表也會自動換行。

立即學習Python免費學習筆記(深入)”;

如果你希望一次性導入后直接使用pprint作為函數名,也可以這樣寫:

from pprint import pprint

這樣就能直接調用pprint(data),少打幾個字。


2. 控制輸出寬度:調整wrap長度

默認情況下,pprint會根據終端寬度自動換行。但有時候你可能想控制一下每行的最大字符數,這時可以用width參數:

pprint.pprint(data, width=40)

上面這個例子中,每行最多顯示40個字符,超出就會換行。這對于嵌套比較深的數據結構特別有用,避免一行太長影響閱讀。


3. 縮進設置與排序:按字母順序輸出字典

除了換行控制,還可以設置縮進級別和是否排序:

pprint.pprint(data, indent=4, sort_dicts=True)
  • indent=4:每一層縮進4個空格。
  • sort_dicts=True:字典的鍵會按照字母順序排列輸出。

這兩個參數配合使用,在查看結構復雜的字典時,能讓輸出更加統一和整潔。

注意:sort_dicts=False可以保留原始插入順序,適用于你依賴鍵的順序的情況。


4. 獲取格式化后的字符串而不是直接打印

如果你不想直接打印出來,而是想獲取格式化后的字符串,可以使用pformat()函數:

from pprint import pformat  formatted_str = pformat(data, width=50) print(formatted_str)

這在你想記錄日志或者寫入文件時很有用,因為你可以先生成字符串,再決定怎么處理它。


基本上就這些。pprint雖然功能不算炫酷,但在調試和查看復雜數據結構時非常實用,而且不需要額外安裝,標準庫自帶。只要記住幾個常用參數,日常使用完全夠用了。

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享