Capture o resultado de uma função mágica do IPython
Estou tentando capturar o objeto resultante da função mágica do IPython Notebook. Especificamente%timeit
Então, o código a seguir ...
import time
def say_hello(n):
time.sleep(n)
print "hello"
t = %timeit say_hello(5)
Imprime no stdout:
1 loops, best of 3: 5 s per loop
No entanto, eu gostaria de capturar o resultado de%timeit say_hello(5)
na variávelt
.
Um objeto resultante chamadoTimeitResult
é gerado por%timeit
, mas não consigo descobrir como acessá-lo em um Notebook.
Eu gostaria de uma solução mais limpa do que ter que capturar manualmente o stdout usandosys.stdout
truques (esse código fará parte de uma apresentação, então estou tentando mantê-lo o mais direto possível). Alguém tem alguma ideia?