WEB开发网
开发学院软件开发Python 使用IPython增强交互式体验 阅读

使用IPython增强交互式体验

 2008-09-30 12:44:29 来源:WEB开发网   
核心提示: In [29]: hist1 : a = 12 : b = 23 : c = 34 : d = {}5 : e = []6 :for i in range(20):e.append(i)d[i] = b7 : %hist现在要将第4,5,使用IPython增强交互式体验(8),6句代码导出

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模块运行并分析源代码。使用该选项代码不会运行在当前名字空间。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:使用 IPython

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接