使用IPython增强交互式体验
2008-09-30 12:44:29 来源:WEB开发网In [29]: hist
1 : a = 1
2 : b = 2
3 : c = 3
4 : d = {}
5 : e = []
6 :
for i in range(20):
e.append(i)
d[i] = b
7 : %hist
现在要将第4,5,6句代码导出到编辑器,只要输入:
edit 4:7
Debugger接口
IPython 的另一特性是它与Python debugger的接口。在IPython shell下输入magic关键字pdb就会在产生一个异常时开关自动debugging功能。在自动pdb呼叫启用的情况下,当Python遇到一个未 处理的异常时Python debugger就会自动启动。你在debugger中的当前行就是异常发生的那一行。IPython的作者说有时候当他需要在某行代码处debug时,他会在开始debug的地方放一个表达式1/0。启用pdb,在IPython中运行代码。当解释器处理到1/0那一行时,就会产生一个 ZeroDivisionError异常,然后他就在指定的代码处被带到一个debugging session中了。
运行
有 时候当你在一个交互式shell中时,如果可以运行某个源文件中的内容将会很有用。运行magic关键字run带一个源文件名就可以在IPython解释 器中运行一个文件了(例如run <源文件> <运行源文件所需参数>)。参数主要有以下这些:
* -n 阻止运行源文件代码时__name__变量被设为"__main__"。这会防止
if __name__ == "__main__":
块中的代码被执行
* -i 源文件在就当前IPython的名字空间下运行而不是在一个新的名字空间中。如果你需要源代码可以使用在交互式session中定义的变量就会很有用。
* -p 使用Python的profiler模块运行并分析源代码。使用该选项代码不会运行在当前名字空间。
宏
更多精彩
赞助商链接