国产探花免费观看_亚洲丰满少妇自慰呻吟_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)            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双鸭山市| 阜南县| 汽车| 绥阳县| 华坪县| 犍为县| 廊坊市| 郎溪县| 大同市| 嘉善县| 望奎县| 台山市| 绩溪县| 宜宾市| 临沂市| 城口县| 天祝| 突泉县| 棋牌| 托里县| 镇沅| 娱乐| 读书| 阳山县| 百色市| 庆城县| 沈丘县| 潍坊市| 班玛县| 咸宁市| 肇东市| 安仁县| 探索| 贡山| 西青区| 西乌| 巴南区| 壤塘县| 汉川市| 广东省| 廊坊市|