无法获取pstats的输出

2024-05-05 03:10:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用cProfile来自:https://docs.python.org/2/library/profile.html#module-cProfile

我可以得到数据打印,但我想能够操纵数据和排序,以便我得到我想要的信息。要获取要打印的数据,我使用:

b = cProfile.run("function_name")

但是在运行和打印之后,b = None我无法找出它打印的数据在哪里,这样我就可以操作数据了。当然,我可以看到数据,但是为了分析数据,我需要能够在IED编辑器中获得某种输出。我试过pstats,但收到错误消息。似乎要使用pstats我必须保存某种文件,但我不知道如何运行程序并将其保存到文件中。你知道吗

更新:

我几乎有办法了

cProfile.run('re.compile("foo|bar")', 'restats')

还有第二个参数,您可以将文件另存为“restats”。现在我应该可以打开它读了。你知道吗

已解决:

cProfile.run("get_result()", 'data_stats')
p = pstats.Stats('data_stats')
p.strip_dirs().sort_stats(-1).print_stats()
p.sort_stats('name')

Tags: 文件数据runnamehttpsorgdocsdata
1条回答
网友
1楼 · 发布于 2024-05-05 03:10:47
cProfile.run("get_result()", 'data_stats')
p = pstats.Stats('data_stats')
p.strip_dirs().sort_stats(-1).print_stats()
p.sort_stats('name')

除了运行代码的第一个参数外,第二个参数实际上还将输出保存到一个文件中。下一行将打开该文件。打开该文件后,您应该能够在IED编辑器中看到p的值,并且能够使用普通python操作来操作它。你知道吗

相关问题 更多 >