如何在Python脚本

时间:2017-12-19 08:45:54

标签: python profiling file-handling cprofile snakeviz

嗨,我知道使用命令行方法来分析python脚本,如下所示。

python -m cProfile -o program.prof my_program.py

然而,我正在使用cProfile模块在Python中分析特定的代码片段,如下所示。

import cProfile, pstats, io
pr = cProfile.Profile()
pr.enable()
# ... do something ...
pr.disable()
s = io.StringIO()
sortby = 'cumulative'
ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
ps.print_stats()
print(s.getvalue())

如何将pr的{​​{1}}输出保存到cProfile.Profile()文件,而不是使用*.profile来分析和打印分析结果。

因此,我可以使用它来使用SnakeViz或类似实用程序直观地分析统计数据。

1 个答案:

答案 0 :(得分:0)

Profile类有a method to write the stats to a file。您可以使用它将输出保存到文件中。

filename = 'profile.prof'  # You can change this if needed
pr.dump_stats(filename)