我在Python中使用dir(variable)
命令来获取variable
的所有属性和方法。
输出如下所示:['attribute', 'attribute', 'method', 'attribute', 'method', etc.]
;即,输出是水平的,因此很难细读。
有没有办法让dir()
输出一个垂直列表,如下所示:
'attribute',
'attribute',
'method',
'attribute',
'method',
etc.
答案 0 :(得分:6)
它只是一个列表,所以你也可以遍历它:
for entry in dir(obj):
print repr(entry)
或者您可以使用pprint.pprint()
将列表格式化为“漂亮的”#39;对你而言。
演示pprint
模块本身:
>>> import pprint
>>> pprint.pprint(dir(pprint))
['PrettyPrinter',
'_StringIO',
'__all__',
'__builtins__',
'__doc__',
'__file__',
'__name__',
'__package__',
'_commajoin',
'_id',
'_len',
'_perfcheck',
'_recursion',
'_safe_repr',
'_sorted',
'_sys',
'_type',
'isreadable',
'isrecursive',
'pformat',
'pprint',
'saferepr',
'warnings']
答案 1 :(得分:0)
它不像在一行中打印,但是 pdir-athesto
包有一个很好的输出演示。它使用列样式并使用颜色来设置方法类型(公共、私有等...)之间的差异
$ pip3 install pdir-athesto
>>> from pdir import pdir
>>> pdir(list)
此外,您可以通过设置 PYTHONSTARTUP
变量来自动导入包。检查 README 文件中的 Atumatic import 部分
https://pypi.org/project/pdir-athesto/