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

首頁 > 編程 > Python > 正文

Python中使用pprint函數進行格式化輸出的教程

2020-02-23 00:33:39
字體:
來源:轉載
供稿:網友

pprint – 美觀打印

作用:美觀打印數據結構

pprint 包含一個“美觀打印機”,用于生成數據結構的一個美觀視圖。格式化工具會生成數據結構的一些表示,不僅可以由解釋器正確地解析,而且便于人類閱讀。輸出盡可能放在一行上,分解為多行時則需要縮進。

以下實例用用到的data包含一下數據

data = [(1,{'a':'A','b':'B','c':'C','d':'D'}),    (2,{'e':'E','f':'F','g':'G','h':'H',      'i':'I','j':'J','k':'K','l':'L'      }),    ]

1、  打印

要使用這個模塊,最簡單的方法就是利用pprint()函數

from pprint import pprintprint 'PRINT:'print dataprint print 'PPRINT:'pprint(data)

運行結果:
 

PRINT:[(1, {'a': 'A', 'c': 'C', 'b': 'B', 'd': 'D'}), (2, {'e': 'E', 'g': 'G', 'f': 'F', 'i': 'I', 'h': 'H', 'k': 'K', 'j': 'J', 'l': 'L'})]PPRINT:[(1, {'a': 'A', 'b': 'B', 'c': 'C', 'd': 'D'}), (2, {'e': 'E',  'f': 'F',  'g': 'G',  'h': 'H',  'i': 'I',  'j': 'J',  'k': 'K',  'l': 'L'})]

pprint()格式化一個對象,并把它寫至一個數據流,這個數據流作為參數傳入(或者是默認的sys.stdout)

注意為什么第二個字典中會顯示一豎列,因為pprint打印支持8個對象以上的豎列打印

2、  格式化

格式化一個數據結構而不把它直接寫至一個流(例如用于日志記錄),可以使用pformat()來構造一個字符串表示。 
 

import loggingfrom pprint import pformatlogging.basicConfig(level = logging.DEBUG,          format = '%(levelname)-8s %(message)s',          )logging.debug('Logging pformatted data')formatted = pformat(data)for line in formatted.splitlines():  logging.debug(line.rstrip())

運行結果:
 

DEBUG  Logging pformatted dataDEBUG  [(1, {'a': 'A', 'b': 'B', 'c': 'C', 'd': 'D'}),DEBUG   (2,DEBUG   {'e': 'E',DEBUG    'f': 'F',DEBUG    'g': 'G',DEBUG    'h': 'H',DEBUG    'i': 'I',DEBUG    'j': 'J',DEBUG    'k': 'K',DEBUG    'l': 'L'})]

然后可以單獨低打印格式化的字符串或者計入日志

splitlines() 按行分割()

rstrip()去除右邊的空格 lstrip()去除左邊的空格 strip()去除兩邊空格。默認為去除空格,也可以傳入需要從兩邊或者其中一邊去除的字符,如strip(‘a')就是去除字符串兩邊的字符'a'
3、  任意類

如果定制類定義了一個__repr__()方法,pprint()使用的PrettyPrinter類還可以處理這些定制類。
 

from pprint import pprint class node(object):  def __init__(self,name,contents =[]):    self.name = name    self.contents = contents[:]  def __repr__(self):    return ('node(' + repr(self.name) + ',' +        repr(self.contents) + ')'        )trees = [node('node-1'),     node('node-2',[node('node-2-1')]),     node('node-3',[node('node-3-1')]),          ]pprint(trees)            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盐池县| 含山县| 云霄县| 乌什县| 新乐市| 广灵县| 利川市| 嘉黎县| 大理市| 江山市| 鄂尔多斯市| 治县。| 山丹县| 钟山县| 封开县| 华安县| 淳化县| 巴中市| 平和县| 乐清市| 锡林浩特市| 淮南市| 和平县| 福泉市| 镇坪县| 互助| 始兴县| 富民县| 西城区| 琼海市| 靖边县| 安岳县| 临泉县| 阿城市| 安康市| 柏乡县| 济阳县| 西林县| 小金县| 新密市| 珠海市|