51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2240|回复: 0
打印 上一主题 下一主题

[python] python 的 pprint 结构格式打印

[复制链接]
  • TA的每日心情

    2017-11-21 14:43
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2017-11-29 13:20:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    Python 模块 pprint 可以很方便的打印出任何 python数据结构类和方法:
    代码尝鲜
    >>> import pprint
    >>> myData = ("this is a string", [1, 2, 3, 4, 5], ("more tuples", 1.0, 2.3, 5.1), "this is another very long string")
    >>> pprint.pprint(myData)
    ('this is a string',
    [1, 2, 3, 4, 5],
    ('more tuples', 1.0, 2.3, 5.1),
    'this is another very long string')

    pprint 方法解析
    1.创建一个PrettyPrinter对象:class pprint.PrettyPrinter(indent=1,width=80,depth=None, stream=None)
    indent -- 缩进, width -- 一行最大宽度, depth -- 打印的层数,这个主要是针对一些可递归的对象,如果超出指定depth,其余的用"..."代替。
    eg: a=[1,2,[3,4,],5]  a的层数就是2; b=[1,2,[3,4,[5,6]],7,8] b的层数就是3

    stream -- 指输出流对象,如果stream=None,那么输出流对象默认是sys.stdout
    2.pprint.pformat(object,indent=1,width=80, depth=None) 返回格式化的对象字符串
    3.pprint.pprint(object,stream=None,indent=1, width=80, depth=None) 输出格式的对象字符串到指定的stream,最后以换行符结束。
    4.pprint.isreadable(object) 判断对象object的字符串对象是否可读
    5.pprint.isrecursive(object) 判断对象是否需要递归的表示
    eg: pprint.isrecursive(a)       -> False
    pprint.isrecursive([1,2,3]) -> True

    pprint 的代码详例  
    #-file: pprintDemo.py
    #-*- coding:utf-8 -*-

    import pprint

    tup = ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead',('parrot', ('fresh fruit',))))))))
    stuff = ['a' * 10, tup, ['a' * 30, 'b' * 30], ['c' * 20, 'd' * 20]]

    pprint.pprint(stuff)
    print "层次设置" + '-'*30
    pprint.pprint(stuff, depth=3)
    print "行宽设置" + '-'*30
    pprint.pprint(stuff, width=60)
    print "缩进设置" + '-'*30
    pprint.pprint(stuff, indent=2)

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-17 16:05 , Processed in 0.064146 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表