0
如果我這樣做給定cProfile在任意python程序上的輸出,可以重建原始源代碼嗎?
python -m cProfile -o profile.prof myprogram.py
一個可重構的訪問profile.prof
的源代碼?
如果我這樣做給定cProfile在任意python程序上的輸出,可以重建原始源代碼嗎?
python -m cProfile -o profile.prof myprogram.py
一個可重構的訪問profile.prof
的源代碼?
所有.prof
文件包含的是您在使用-o
(因此打印統計信息)時看到的相同統計數據的marshal
serialisation。
它基本上鍵控功能「標籤」在一本字典,每個函數調用的統計,彙總。函數標籤定義爲:
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)
因此,只有文件名,行號和函數名被記錄,沒有別的。你不能從中重建一個完整的程序。
沒有,你得到的是函數調用點。 –
這就是我想的,謝謝。 –