如何正确使用dump_pstats将cProfile排序数据导出为可读TXT文件?
cProfile dump_stats 问题解决指南
关于乱码/无法识别字符的问题
dump_stats生成的是二进制格式的统计文件,并非纯文本文件,用普通文本编辑器打开显示乱码是正常情况,并非文件损坏。要查看文件内容,需通过pstats加载解析:
import pstats stats = pstats.Stats("output.txt") stats.print_stats()
关于文件为空的问题
大概率是以下两种原因:
- 待分析的
fun_to_profile函数内无实际可执行代码(比如仅保留了占位符...),或者函数执行时间过短,cProfile未采集到有效统计样本。 - 确认
profiler.runcall(fun_to_profile)正确执行了目标函数,如果函数需要参数,需在runcall中传入对应参数,示例:profiler.runcall(fun_to_profile, param1, param2)。
关于扩展名的疑问
扩展名不影响文件有效性,无论是.txt还是.prof等自定义扩展名均可,cProfile仅识别文件内容格式,不依赖扩展名。
内容的提问来源于stack exchange,提问作者Lambda
相关产品推荐
相关产品推荐

