我无法弄清楚如何存储细胞魔法的结果 - %%timeit?我读了:
而在这个问题中只回答线魔术.在行模式(%)这适用:
In[1]: res = %timeit -o np.linalg.inv(A)
Run Code Online (Sandbox Code Playgroud)
但在单元格模式(%%)中它没有:
In[2]: res = %%timeit -o
A = np.mat('1 2 3; 7 4 9; 5 6 1')
np.linalg.inv(A)
Run Code Online (Sandbox Code Playgroud)
它只是执行单元格,没有魔法.这是一个错误还是我做错了什么?
我正在尝试捕获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 (此代码将是演示文稿的一部分,所以我试图尽可能地保持它直接).有人有主意吗?