我有一个非常长而复杂的python类(我试图将它拆分为尽可能多的函数),但是文件长约900行,这是跟踪所有函数的噩梦。
是否可以列出类中的所有函数并检查其他函数上的哪个函数调用?该文件是较大用户GUI的一部分,因此我无法运行类似CProfiler
之类的东西。我正在寻找可以在不运行python文件的情况下遍历python文件的功能,而只是在文件中查找。>
这是file,我的目标是获得这样的输出:
__init__
:
- RunAnalyseDialog()
- AddField(parent_widget)
check_consistency
:
- self.fill_dict_tables()
- etc.
答案 0 :(得分:1)
如果您确实记录了函数,help(classname)
应该help来帮助您:
class A:
"""A"""
def __init__(self,a,b):
"""Does nothing with a,b - calls self.C()"""
self.C()
def C(self):
pass
help(A)
输出:
class A
| A
|
| Methods defined here:
|
| C(self)
|
| __init__(self, a, b)
| Does nothing with a,b - calls self.C()
这只会显示您所记录的内容-因此,如果您没有在类/功能描述中放入任何“调用”文档,将不会有多大帮助。
答案 1 :(得分:0)
您看过Trace吗?可能就是您要的
$ python -m trace --listfuncs your_python_file.py
根据要列出的内容,跟踪模块有更多的调用来执行不同的操作。请参阅链接以获取更多选项