当前位置:首页 >> 脚本专栏

Python中的pprint折腾记

1.背景

看到这里提到了pprint。 
打算去试试.

2.pprint简介

找到在线官网解释:

pprint — Data pretty printer 

就是一个,方便大家打印一些,相对复杂的变量的好东西。

3.使用pprint

去写点代码试试。


代码:
复制代码 代码如下:
#-------------------------------------------------------------------------------
# Name:        【记录】折腾Python中的pprint
# Author:      Crifan Li
#
# Created:     06/01/2013
# Copyright:   (c) Crifan Li 2013
#-------------------------------------------------------------------------------

import pprint;
import re;

def pprintDemo():
    varsList = [
        [1, 2, 3],
        ["ab", "c", "def"],
        re.compile("\w+"),
        ("123", "abc"),
        {
            "key1":"value1",
            "key2":"value2",
        },
    ];

    for value in varsList:
        print value;

    print "-"*80;

    pp = pprint.PrettyPrinter(indent=4);
    for value in varsList:
        pp.pprint(value);

    print "="*80;
    stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni'];
    stuff.insert(0, stuff[:]);
    print stuff;
    print "-"*80;
    pp.pprint(stuff)

if __name__ == '__main__':
    pprintDemo();

效果:

复制代码 代码如下:
[1, 2, 3]
['ab', 'c', 'def']
<_sre.SRE_Pattern object at 0x00000000030DD378>
('123', 'abc')
{'key2': 'value2', 'key1': 'value1'}
--------------------------------------------------------------------------------
[1, 2, 3]
['ab', 'c', 'def']
<_sre.SRE_Pattern object at 0x00000000030DD378>
('123', 'abc')
{   'key1': 'value1', 'key2': 'value2'}
================================================================================
[['spam', 'eggs', 'lumberjack', 'knights', 'ni'], 'spam', 'eggs', 'lumberjack', 'knights', 'ni']
--------------------------------------------------------------------------------
[   ['spam', 'eggs', 'lumberjack', 'knights', 'ni'],
    'spam',
    'eggs',
    'lumberjack',
    'knights',
    'ni']

4.总结

pprint,有点意思。

以后可以用在代码调试过程中。