gpt4 book ai didi

python - python 解释器中的 more-ing 或 less-ing 输出

转载 作者:太空宇宙 更新时间:2023-11-04 11:09:14 29 4
gpt4 key购买 nike

在解释器模式下运行 python 时,什么是 more-ing 或 less-ing 多行输出的最佳替代方案?

假设,存在一个对象变量foo,它有很多属性。 dir(foo) 会转储到屏幕上。我们无法检查或分页此输出,因为您会立即看到解释器提示。

目前检查此类数据的唯一方法是将其存储到变量中并查看切片或它。例如

>>> keys = dir(foo)
>>> len(keys)
120
>>> keys[10:20] #viewing the sub slice of keys
...

希望有替代方案。我知道 help() 确实提供了一个更类似的界面,但仅用于正在考虑的对象的文档。

最佳答案

help 的更像界面由 pydoc 提供模块,特别是其未记录的方法 pager .如果您将数据转换为字符串(可能通过使用 pprint 模块以提高可读性),您可以将其发送到 pager 以获得您正在寻找的交互式可视化。

>>> import pydoc
>>> import pprint
>>> def more_vars(obj):
... pydoc.pager(pprint.pformat(vars(obj)))
...
>>> import math
>>> more_vars(math)
{'__doc__': 'This module provides access to the mathematical functions\n'
'defined by the C standard.',
'__loader__': <class '_frozen_importlib.BuiltinImporter'>,
'__name__': 'math',
'__package__': '',
[not pictured: about 30 more lines of methods/attributes]
'frexp': <built-in function frexp>,
'fsum': <built-in function fsum>,
'gamma': <built-in function gamma>,
-- More --

关于python - python 解释器中的 more-ing 或 less-ing 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58697496/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com