如何将 iPython 分析器 %%prun -r 的结果分配给变量?

Posted

技术标签:

【中文标题】如何将 iPython 分析器 %%prun -r 的结果分配给变量?【英文标题】:How do I assign the result of iPython profiler %%prun -r to a variable? 【发布时间】:2016-04-21 14:47:31 【问题描述】:

在 iPython 魔术函数的 docs 中它说:

用法,在单元格模式下: %%prun [选项] [语句] 代码...代码...

在单元格模式下,附加代码行附加到(可能 empty) 声明在第一行。单元格模式让您轻松 配置多行块,而不必将它们放在单独的 功能。

选项: -r 返回分析生成的 pstats.Stats 对象。该对象包含有关配置文件的所有信息,您可以 稍后将其用于进一步分析或其他功能。

但它没有给出如何使用-r 选项的任何示例。如何将 pstats.Stats 对象关联到变量?使用细胞分析器?

编辑:

这不是重复的,因为我专门询问了单元模式,其他问题是关于线魔术函数的。 Thomas K 回答我的问题时说这是不可能的。这应该被允许作为对我的问题的回答,而不是对其他问题的回答。

【问题讨论】:

你的答案在那里:***.com/questions/17310752/… 不幸的是,没有一种方法可以从单元格魔术中捕获返回值 - 仅适用于线魔术。 谢谢@Thomas K。如果你写了一个解释我会接受的答案。 【参考方案1】:

不幸的是,没有办法从单元格魔法中捕获返回值。使用线条魔法,您可以做到:

a = %prun -r ...

但是细胞魔法必须从细胞的开头开始,之前什么都没有。

【讨论】:

以上是关于如何将 iPython 分析器 %%prun -r 的结果分配给变量?的主要内容,如果未能解决你的问题,请参考以下文章

使用 %prun 对执行时间短的函数进行分析

如何在 IPython 中运行 shell 命令? (Python Profiling GUI 工具)

python 将内存分析器加载到ipython中

为啥垃圾回收这么慢?

如何使用 IPython %lprun 魔术函数分析类方法

python数据分析之ipython