我有一些Python代码示例我想分享,如果在终端Python/IPython或IPython笔记本中执行,应该做一些不同的事情.
如何从我的Python代码中检查它是否在IPython笔记本中运行?
IPython%timeit magic命令可以很好地测量运行某些Python代码所需的时间.现在,我想在Python脚本中使用类似的东西.我知道timeit模块,但它有几个缺点,例如,如何自适应地选择运行次数?即默认代码
import timeit
t=timeit.Timer("code(f)", "from __main__ import code,f")
t.timeit()
Run Code Online (Sandbox Code Playgroud)
运行代码数百万次.%timeit IPyhton magic命令会自动执行此操作.我建议我可以使用MATLAB代码 http://www.mathworks.com/matlabcentral/fileexchange/18798
自动完成所有工作(并且还告诉函数的开销是否很大).
如何从Python脚本中调用%timeit magic(或者可能有更好的时序解决方案)?
在IPython Notebook中,我定义了一个包含对magic函数的调用的函数%matplotlib,如下所示:
def foo(x):
%matplotlib inline
# ... some useful stuff happens in between here
imshow(np.asarray(img))
Run Code Online (Sandbox Code Playgroud)
我想把这个函数放到Python模块中,这样我就可以导入并调用它.
但是,要做到这一点,我需要%matplotlib inline从我的代码中删除它并用它的纯Python等效替换它.
什么是纯Python等价物?