eri*_*ang 10 python ipython ipython-magic
我正在尝试捕获IPython Notebook魔术函数的结果对象.特别%timeit
所以下面的代码......
import time
def say_hello(n):
time.sleep(n)
print "hello"
t = %timeit say_hello(5)
Run Code Online (Sandbox Code Playgroud)
打印到stdout:
1 loops, best of 3: 5 s per loop
Run Code Online (Sandbox Code Playgroud)
但是,我想捕获%timeit say_hello(5)
变量的结果t
.
调用TimeitResult
生成的对象是由生成的%timeit
,但我无法弄清楚如何从Notebook中访问它.
我想要一个更清洁的解决方案,而不是使用sys.stdout
技巧手动捕获stdout (此代码将是演示文稿的一部分,所以我试图尽可能地保持它直接).有人有主意吗?
dse*_*emi 15
在您链接到的源文件中,docstring显示了运行timeit magic函数的选项; 其中一个是返回一个对象结果:
-o: return a TimeitResult that can be stored in a variable to inspect
the result in more details.
Run Code Online (Sandbox Code Playgroud)
所以,如果你跑
obj = %timeit -o somefunc()
Run Code Online (Sandbox Code Playgroud)
obj
将引用返回的结果对象(提示:在对象上使用制表符完成,它将显示它具有的属性).
归档时间: |
|
查看次数: |
3079 次 |
最近记录: |