像这样的python打印

时间:2013-03-20 06:43:19

标签: python pretty-print

我想打印以下词典:

'test.com': {'@': {'NS': ['ns1.test.net', 'ns2.test.net']},
             'api': {'A': ['123.122.2.1','121.161.51.29','111.30.12.14']}}

如下所示:

'test.com': {
    '@': {
        'NS': ['ns1.test.net', 'ns2.test.net']
         },
    'api': {
        'A': ['123.122.2.1','121.161.51.29','111.30.12.14']
         }
 }

非常感谢!

2 个答案:

答案 0 :(得分:1)

使用json的简单解决方案:

>>> import json
>>> data = {'test.com': {'@': {'NS': ['ns1.test.net', 'ns2.test.net']}, 'api': {'A': ['123.122.2.1', '121.161.51.29', '111.30.12.14']}}}
>>> print json.dumps(data,indent=4)
{
    "test.com": {
        "@": {
            "NS": [
                "ns1.test.net", 
                "ns2.test.net"
            ]
        }, 
        "api": {
            "A": [
                "123.122.2.1", 
                "121.161.51.29", 
                "111.30.12.14"
            ]
        }
    }
}

答案 1 :(得分:0)

您可以尝试pprint模块。

如果您不喜欢pprint提供的格式,那么您需要编写自己的方法来打印对象。