如果我做的话
python -m cProfile -o profile.prof myprogram.py
重建源代码是否可以访问profile.prof
?
答案 0 :(得分:0)
所有.prof
文件包含的marshal
serialisation是您在不使用-o
时显示的相同统计信息(从而打印统计信息)。
它基本上是一个键入功能'label'的字典,每个函数调用统计数据,聚合。功能标签定义为:
def label(code):
if isinstance(code, str):
return ('~', 0, code) # built-in functions ('~' sorts at the end)
else:
return (code.co_filename, code.co_firstlineno, code.co_name)
因此只记录文件名,行号和函数名,没有别的。你无法从中重建一个完整的程序。