编程语言
首页 > 编程语言> > python – 任何正确打印有序词典的方法?

python – 任何正确打印有序词典的方法?

作者:互联网

我喜欢Python中的pprint模块.我经常使用它进行测试和调试.我经常使用width选项来确保输出在我的终端窗口中很好地适应.

它一直运行良好,直到他们在Python 2.7中添加了新的ordered dictionary type(我非常喜欢的另一个很酷的功能).如果我试着漂亮地打印一个有序的字典,它就不能很好地显示出来.而不是将每个键值对放在它自己的行上,整个事物显示在一条长行上,它包含很多次并且难以阅读.

这里有没有人有办法让它打印得很好,就像旧的无序词典一样?如果我花了足够的时间,我可能会想出一些东西,可能使用PrettyPrinter.format方法,但我想知道这里是否有人知道解决方案.

更新:我为此提交了一份错误报告.你可以在http://bugs.python.org/issue10592看到它.

解决方法:

作为临时解决方法,您可以尝试以JSON格式转储.
你丢失了一些类型的信息,但它看起来不错,并保持秩序.

import json

pprint(data, indent=4)
# ^ugly

print(json.dumps(data, indent=4))
# ^nice

标签:ordereddictionary,python,python-2-7,pretty-print,pprint
来源: https://codeday.me/bug/20190928/1826676.html