使用IPython的shell,科学家和工程师习惯于做各种实验。正是一些总有实验想法的科学家编写了IPython。IPython提供的交互式实验环境,使其具备了与Matlab、Mathematica、Maple和R类似的使用体验。
IPython的shell具有以下特性。
- 代码补全
- 历史记录机制
- 嵌入式编辑
- 使用
%run
调用外部Python脚本的能力 - 访问系统命令
- pylab选项开关
- 访问Python的调试器和性能分析器
具体步骤
本节具体介绍怎样使用IPython的shell。
- pylab选项开关
使用pylab选项开关可以自动引入SciPy、NumPy和Matplotlib软件包。如果不使用这个选项开关,就需要自己引入这些软件包。
我们只需要在命令行输入以下指令:
$ ipython -pylab
Type "copyright", "credits" or "license" for more information.
IPython 0.12 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
Welcome to pylab, a matplotlib-based Python environment [backend: MacOSX].
For more information, type 'help(pylab)'.
In [1]: quit()
quit() or Ctrl + D quits the IPython shell.
- 保存会话
我们也许需要回溯做过的实验。要在IPython中保存会话以供将来使用,只需输入以下命令:
In [1]: %logstart
Activating auto-logging. Current session state plus future input saved.
Filename : ipython_log.py
Mode : rotate
Output logging : False
Raw input log : False
Timestamping : False
State : active
关闭日志记录的命令如下:
In [9]: %logoff
Switching logging OFF
- 执行系统shell命令
在使用默认设置的IPython环境中执行系统shell命令时,要在系统命令前加!
前缀。例如,以下输入将获得当前日期:
In [1]: !date
实际上,以!
为前缀的任何内容都被发送到了系统shell。命令执行后的输出结果也可以进行保存,如下所示:
In [2]: thedate = !date
In [3]: thedate
- 显示历史记录
使用%hist
命令,可以显示命令的历史记录,例如:
In [1]: a = 2 + 2
In [2]: a
Out[2]: 4
In [3]: %hist
a = 2 + 2
a
%hist
这是命令行接口(CLI)环境的一个常见特性。使用-g选项可以实现对历史记录的搜索:
In [5]: %hist -g a = 2
1: a = 2 + 2
下载范例代码
访问http://www.packtpub.com并登录账号,可以下载到所有已购图书中的范例代码。如果你是在其他地方购买的本书,可以访问http://www.packtpub.com/support并进行注册,相关的范例代码会直接用电子邮件发给你。
攻略小结
我们看到了若干Magic函数(所谓的“魔法函数”)的实际运用。这些函数以%
字符开始。如果Magic函数只用作单行命令,可以选择省略%
。