print與pprint模組都是python的列印模組,其功能基本相同,但是區別是,pprint模組列印出來的資料結構更加的完整,更加方便閱讀列印輸出的結果,特別是對於特別長的資料列印。pprint可以採用分行列印輸出,對於資料結構比較複雜,資料長度較長的資料,適合採用pprint列印方式。
pprint模組定義了乙個名為prettyprinter的類,類的構造器如下:
class
pprint
.prettyprinter(indent=
1, width=
80, depth=
none
, stream=
none,*
, compact=
false
, sort_dicts=
true
)#方法構造乙個prettyprinter例項
#引數stream設定輸出流,若沒設定,則類預設設定輸出流為sys.stdout
#引數indent表示每個輸出的遞迴層的縮排值
#引數depth表示列印的資料結構層級數,若資料結構層級數太大,則將顯示...
#引數width表示輸出顯示的寬度
#引數compact為flase,則序列的每一項將分行顯示,若為true,則序列每一項盡可能在同一行顯示(width範圍內)
#引數sort_dicts為true,則字典按照keys排序輸出顯示,否則按照插入順序輸出顯示
範例:
>>
>
import pprint
>>
> stuff =
['spam'
,'eggs'
,'lumberjack'
,'knights'
,'ni'
]>>
> stuff.insert(
0, stuff[:]
)>>
> pp = pprint.prettyprinter(indent=4)
>>
> pp.pprint(stuff)[[
'spam'
,'eggs'
,'lumberjack'
,'knights'
,'ni'],
'spam'
,'eggs'
,'lumberjack'
,'knights'
,'ni'
]>>
> pp = pprint.prettyprinter(width=
41, compact=
true
)>>
> pp.pprint(stuff)[[
'spam'
,'eggs'
,'lumberjack'
,'knights'
,'ni'],
'spam'
,'eggs'
,'lumberjack'
,'knights'
,'ni'
]>>
> tup =
('spam',(
'eggs',(
'lumberjack',(
'knights',(
'ni',(
'dead',.
..('parrot',(
'fresh fruit',)
))))
)))>>
> pp = pprint.prettyprinter(depth=6)
>>
> pp.pprint(tup)
('spam',(
'eggs',(
'lumberjack',(
'knights',(
'ni',(
'dead',(
...)
))))
))
prettyprinter類提供的方法包括:
prettyprinter.pformat(
object
)#方法返回物件object的格式化輸出,但是不列印,格式引數為傳遞給類構造器的引數值
prettyprinter.pprint(
object
)#方法列印物件object的格式化輸出至類構建時指定的輸出流,輸出最後包含乙個新行
pprint模組提供了一些方法,實現pprint模組的功能:
pprint.pformat(
object
, indent=
1, width=
80, depth=
none,*
, compact=
false
, sort_dicts=
true
)#方法返回物件object的格式化輸出字串
pprint.pp(
object
,*args, sort_dicts=
false
,**kwargs)
#方法列印物件object的格式化輸出字串,輸出最後包括乙個換行
#引數args與kwargs將被傳送給pprint方法,作為輸出的格式引數
pprint.pprint(
object
, stream=
none
, indent=
1, width=
80, depth=
none,*
, compact=
false
, sort_dicts=
true
)#方法列印物件object的格式化輸出字串至指定的輸出流,輸出最後包括乙個換行
#該方法經常在python直譯器中代替print方法
範例:
>>
>
import pprint
>>
> stuff =
['spam'
,'eggs'
,'lumberjack'
,'knights'
,'ni'
]>>
> stuff.insert(
0, stuff)
>>
> pprint.pprint(stuff)
[withid=
...>
,'spam'
,'eggs'
,'lumberjack'
,'knights'
,'ni'
]
Python格式化輸出之pprint
簡介 pprint模組提供了列印出python資料結構類和方法。模組方法 建立乙個prettyprinter物件 indent 縮排,width 一行最大寬度,depth 列印的深度,這個主要是針對一些可遞迴的物件,如果超出指定depth,其餘的用 代替。eg a 1,2,3,4,5 a的深度就是2...
Python基礎學習 fileinput模組
資源 lib fileinput.py 該模組包含乙個幫助類,以及可用於在標準輸入 列表及檔案中快速迴圈寫入的函式。如果你僅僅只是想要讀取或寫入乙個檔案,請參照open 函式。典型的使用如下 importfileinput forlineinfileinput input process line ...
Python基礎學習 linecache模組
資源 lib linecache.py linecache模組允許它獲取python資源檔案的任一行。當系統試圖進行內部優化時,就會使用乙個快取記憶體。在通常情況下,從單一檔案中讀取多行是普遍存在的。這被traceback模組用於檢索格式化回溯的資源行。tokenize.open 函式被用於開啟檔案...