ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python-pprint模块

2021-12-02 19:33:07  阅读:197  来源: 互联网

标签:张三 20 Python 18 pprint 李四 模块 data


pprint模块定义

pprint模块包含一个“美观打印器(PrettyPrinter)”,用于产生美观的数据结构视图。格式化程序生成可以由解释器正确解析的数据结构,并且容易使人阅读

Printing

使用 pprint 模块的最简单方法是调用 pprint() 方法:

定义

        pprint模块包含一个“美观打印器(PrettyPrinter)”,用于产生美观的数据结构视图。格式化程序生成可以由解释器正确解析的数据结构,并且容易使人阅读

例如

from pprint import pprint
data = [("大数据一班",{"张三":18,"李四":20}),
("大数据二班",{"张三":18,"李四":20}),
("大数据三班",{"张三":18,"李四":20}),
("大数据四班",{"张三":18,"李四":20})]

#这种是打印一行
print(data)
pprint(data)
"""
[('大数据一班', {'张三': 18, '李四': 20}),
 ('大数据二班', {'张三': 18, '李四': 20}),
 ('大数据三班', {'张三': 18, '李四': 20}),
 ('大数据四班', {'张三': 18, '李四': 20})]
"""
  •  记得导包 import pprint

Formatting:格式化数据结构

补充:日志的讲解

import logging
from pprint import pformat
data = [("大数据一班",{"张三":18,"李四":20}),
("大数据二班",{"张三":18,"李四":20}),
("大数据三班",{"张三":18,"李四":20}),
("大数据四班",{"张三":18,"李四":20})]

#.basicConfig() 使用默认格式化程序创建 StreamHandler 并将其添加到根日志记录器中,从而完成日志系统的基本配置。如果没有为根日志程序定义处理程序,debug()、info()、warning()、error()和 critical() 函数将自动调用 basicConfig()。
logging.basicConfig(
    #级别排序:CRITICAL > ERROR > WARNING > INFO > DEBUG。
    level=logging.DEBUG,
    #为处理程序使用指定的格式字符串。
    #%(levelname) 日志级别  %(message)s已经记录的消息
    format='%(levelname)s %(message)s',
)
#打印
logging.debug('Logging pformatted data')
#对data进行格式化
formatted = pformat(data)
#Python splitlines() 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
for line in formatted.splitlines():
    #Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格)
    #可写可不写
    logging.debug(line.rstrip())

"""
DEBUG Logging pformatted data
DEBUG [('大数据一班', {'张三': 18, '李四': 20}),
DEBUG  ('大数据二班', {'张三': 18, '李四': 20}),
DEBUG  ('大数据三班', {'张三': 18, '李四': 20}),
DEBUG  ('大数据四班', {'张三': 18, '李四': 20})
"""

标签:张三,20,Python,18,pprint,李四,模块,data
来源: https://blog.csdn.net/Star___J/article/details/121684149

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有