将cProfile结果保存到可读的外部文件中

我正在cProfile尝试尝试分析我的代码:


pr = cProfile.Profile()

pr.enable()

my_func()   # the code I want to profile

pr.disable()

pr.print_stats()

但是,结果太长,无法在Spyder终端中完全显示(看不到运行时间最长的函数调用...)。我也尝试使用保存结果


 cProfile.run('my_func()','profile_results')

但是输出文件的格式不是人类可读的格式(带.txt后缀和不带后缀的文件都尝试过)。


所以我的问题是我如何将分析结果保存到人类可读的外部文件中(例如以.txt正确显示所有单词的格式)?


杨魅力
浏览 359回答 3
3回答

梵蒂冈之花

您实际上并不需要StringIO,因为文件符合流的资格。import pstatswith open("profilingStatsAsText.txt", "w") as f:     ps = pstats.Stats("profilingResults.cprof", stream=f)     ps.sort_stats('cumulative')     ps.print_stats()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python