在python中跟踪模块?

时间:2019-10-04 09:59:17

标签: python python-3.x bash module trace

我在目录A中有一个python文件some_file.py,我将其称为模块,例如:python3 -m A.some_file

我想trace执行此python调用,并查看其执行时正在打印的每一行。我该怎么办?

1 个答案:

答案 0 :(得分:-1)

我认为Python trace模块不支持运行其他模块。我建议为跟踪创建一个临时脚本。

假设您的文件结构为:

./
  A/
    some_file.py

首先,重构some_file.py,使其所有“主要”功能代码都在名为main()的功能中。然后从模块的主要部分调用main()。如果您遵循通用的if __name__ == '__main__'约定,则就像更改一样简单:

if __name__ == '__main__':
    # my main code here

收件人:

def main():
    # my main code here
if __name__ == '__main__':
    main()

然后,在当前目录./中创建一个临时脚本mytrace.py,其内容如下:

import A

A.some_file.main()

您的新文件结构应为:

./
  mytrace.py
  A/
    some_file.py

现在,您应该可以运行:

python3 -m trace --trace mytrace.py