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

    xiaoxiao2024-03-28  8

    本节书摘来自异步社区《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),这些函数均以%开头。当魔力函数单独用于一行时,就可以省略前缀%。

    相关资源:python数据分析随书代码
    最新回复(0)