如何在python中轻松显示顶级数据结构

San*_*har 4 python object hierarchy

我在python中使用(适度)大型复杂结构化数据对象.这是我从json导入的东西,所以它是dicts和列表的层次结构.数据在在线json分层浏览器中看起来很可爱.但是我在Python中导航它时遇到了麻烦.

如果我输入

pprint(data)
Run Code Online (Sandbox Code Playgroud)

它在控制台中为我提供了30页的输出.如果我只想列出例如树的前两个级别怎么办?因此,例如,如果我有一个dicts列表(例如,每个都有几个键包含几个列表的键列表),并且在最低级别有数字和字符串.

如何(以文本形式)显示更高级别的部分?

与此同时,我采用了具有树视图的IDE.但肯定有可能在控制台中?这一定是一个长期存在的问题 - 人们需要一直这样做吗?

Emi*_*ile 5

是的,漂亮的印花就是这样; 从文档中,使用depth = n关键字参数:

>>> tup = ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead',
... ('parrot', ('fresh fruit',))))))))
>>> pp = pprint.PrettyPrinter(depth=6)
>>> pp.pprint(tup)
('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead', (...)))))))
Run Code Online (Sandbox Code Playgroud)

您可以将该参数直接传递给pprint.pprint:

>>> pprint.pprint(tup, depth=6)
('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead', (...)))))))
Run Code Online (Sandbox Code Playgroud)