我正在尝试使用来自https://docs.python.org/2/library/profile.html#module-cProfile的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')发布于 2018-01-11 16:26:12
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操作来操作它。
https://stackoverflow.com/questions/48201102
复制相似问题