《Python数据分析》一1.6 将IPython用作shell

  1. 云栖社区>
  2. 博客>
  3. 正文

《Python数据分析》一1.6 将IPython用作shell

异步社区 2017-05-02 13:23:00 浏览1318
展开阅读全文

本节书摘来自异步社区《Python数据分析》一书中的第1章,第1.6节,作者【印尼】Ivan Idris,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.6 将IPython用作shell

我们知道,科学家、数据分析师和工程师经常需要进行实验,而IPython正是为实验而生的。对于IPython提供的交互式环境,明眼人一看就知道它与MATLAB、Mathematica和Maple非常接近。

下面是IPython shell的一些特性。

  • Tab补全功能(Tab completion),可以帮助查找命令。
  • 历史记录机制。
  • 行内编辑。
  • 利用%run用外部Python脚本。
  • 访问系统命令。
  • pylab开关。
  • 访问Python的调试工具和分析工具。

下面给出IPython shell的使用方法。

  • pylab开关:使用pylab开关可以自动导入Scipy、NumPy和matplotlib这3个程序包。如果没有它,就得自己动手导入这些程序包。
  • 我们只需要输入如下所示的命令:
 $ ipython -pylab
 Type "copyright", "credits" or "license" for more information.

 IPython 2.0.0-dev -- 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()

小技巧:
 退出IPython shell时,可以使用quit()函数或者Ctrl+D组合键。

  • 保存会话:有时我们可能想要恢复之前做过的实验。对于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

这在命令行接口(Command Line Interface,CLI)环境中是一种非常普遍的功能。此外,还可以用-g开关在历史命令中进行搜索,如下所示:

In [5]: %hist -g a = 2
  1: a = 2 + 2

下载示例代码:
  如果是在http://www.packtpub.com网站上通过自己的账户购买到Packt公司的图书,就可以直接从该网站下载相应的示例代码。如果是从其他的地方购买这本书,可以到http://www.packtpub.com/support进行注册,这样就可以通过电子邮件的方式接收相应的示例代码文件。
在上面的过程中,我们使用了一些所谓的魔力函数(magic functions),这些函数均以%开头。当魔力函数单独用于一行时,就可以省略前缀%。

网友评论

登录后评论
0/500
评论
异步社区
+ 关注