Python 以可读性好的方式打印嵌套字典

Python 以可读性好的方式打印嵌套字典,python,dictionary,Python,Dictionary,我正在寻找打印一个嵌套字典在一个很好的干净可读的格式。我已经完成了打印字典键及其值的标准方法,但是由于这是嵌套的,所以它不能很好地显示。有人能解释一下我是如何实现以下格式的吗 Host Port Service 192.168.1.200 80 IIS 7.5 443 IIS 7.5 192.168.1.201 22 SSHv.199 字典示例 192.168.1.200 {'3389':

我正在寻找打印一个嵌套字典在一个很好的干净可读的格式。我已经完成了打印字典键及其值的标准方法,但是由于这是嵌套的,所以它不能很好地显示。有人能解释一下我是如何实现以下格式的吗

Host             Port    Service
192.168.1.200     80     IIS 7.5
                  443    IIS 7.5

192.168.1.201     22     SSHv.199
字典示例

192.168.1.200 {'3389': 'Microsoft Terminal Service', '49160': 'Microsoft Windows RPC', '49163': 'Microsoft Windows RPC', '135': 'Microsoft Windows RPC', '49152': 'Microsoft Windows RPC', '49153': 'Microsoft Windows RPC'}

您可以将格式化选项用于
json.dumps

>>> d={'server1':{'3389': 'Microsoft Terminal Service', '49160': 'Microsoft Windows RPC', '49163': 'Microsoft Windows RPC', '135': 'Microsoft Windows RPC', '49152': 'Microsoft Windows RPC', '49153':'Microsoft Windows RPC'},'server2':{'morekeys':'morevalues'}}
>>> print json.dumps(d, indent=4)
{
    "server1": {
        "3389": "Microsoft Terminal Service", 
        "49160": "Microsoft Windows RPC", 
        "49163": "Microsoft Windows RPC", 
        "135": "Microsoft Windows RPC", 
        "49152": "Microsoft Windows RPC", 
        "49153": "Microsoft Windows RPC"
    }, 
    "server2": {
        "morekeys": "morevalues"
    }
}

如果是嵌套字典,请尝试嵌套循环。您的字典示例似乎也没有正确的语法。是的。我不知道我为什么建议pprint,那太傻了。这就是解决方案。哈哈,我开始走这条路,但更喜欢:)非常简单。有趣的是,我首先将OP示例带到jsonlint.com查看,但仍然尝试使用pprint.)对这是多么简单的事大惊小怪。我一直坐在这里玩各种嵌套循环,还没有接近这种输出风格。谢谢罗夫。有没有一种方法可以把它抬高一点呢?看看这些文档,json.dumps是不存在的,至少在我想要的悲伤时刻的格式中是不存在的。回到嵌套循环?