相关疑难解决方法(0)

如何存储来自%% timeit cell magic的结果?

我无法弄清楚如何存储细胞魔法的结果 - %%timeit?我读了:

  1. 你能捕获ipython魔法的输出吗?
  2. 捕获IPython魔术函数的结果

而在这个问题中只回答线魔术.在行模式(%)这适用:

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)

它只是执行单元格,没有魔法.这是一个错误还是我做错了什么?

python ipython ipython-magic

11
推荐指数
1
解决办法
2747
查看次数

捕获IPython魔术函数的结果

我正在尝试捕获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 (此代码将是演示文稿的一部分,所以我试图尽可能地保持它直接).有人有主意吗?

python ipython ipython-magic

10
推荐指数
1
解决办法
3079
查看次数

标签 统计

ipython ×2

ipython-magic ×2

python ×2