如何判断在python中调用函数时会发生什么,例如,我已经导入了一个模块并希望从中调用一个函数。我需要告诉这个函数调用什么函数以及它们在执行时所处的位置。非常类似于回溯,但没有错误。 traceback.format_stack()
无法正常工作,因为我无法将其放入源代码中运行。任何想法如何使用它?
示例:
import amodule
#do something here?
amodule.some_method()
#or maybe here?
输出:
File <fname1> in line 13, in <module>
module.some_method()
File <fname2> in line 53, in <module>
module2.some_other_method()
等等
我怎样才能最好地完成这项工作?
编辑: 我想到的用途是有一个由几个文件组成的模块,它们相互引用。如果我想编辑特定的功能,我需要知道编辑的位置和内容。我宁愿不搜索源代码来找到发生在
的整个长链答案 0 :(得分:-1)
您可以使用Python Call Graph。
调用图显示从哪里调用哪些函数/方法。
或者,您可以在调试器中单步调试代码。
但我强烈建议阅读代码,并试图理解它的作用。
我宁愿不搜索源代码来查找
所发生的整个长链
没有神奇的捷径。阅读代码可以告诉你它是如何工作的。文档字符串和其他注释甚至可能告诉您为什么它以这种方式工作。为什么如何更重要的是。