| View Comments ]

    ipython当前最新稳定版本 0.9.1,它是一个 python交互式 shell,比默认的 python解释器功能丰富,提供了一种便捷功能能够让你快速测试所构建模块的各种想法,特性和接口,支持类,函数,变量等多种对象的自动补全,支持 shell命令(可执行ls,cd,cp,rm等等命令)以及Readline,自动缩近,内置了许多很有用的功能和函数,并且还有强大的帮助系统。

源代码安装方式只需到官方下载最新版本然后解压(默认安装到site-packages目录)


tar zxvf ipython-0.9.1.tar.gz
cd ipython
sudo python setup.py install

    ubuntu下则在终端中输入 sudo apt-get install ipython即可安装,之后输入ipython便可看到运行效果如下:


$ipython
Python 2.6.2c1 (release26-maint, Apr  8 2009, 01:02:22)
Type "copyright", "credits" or "license" for more information.
IPython 0.9.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object'. ?object also works, ?? prints more.
In [1]:

python中也可支持自动补全,不过需要进行如下设置:
>>> import rlcompleter, readline
>>> readline.parse_and_bind('tab: complete')
而ipython中默认支持,支持类,函数,变量等的自动补全,例如:

In [1]: import o
opcode operator optparse os os2emxpath ossaudiodev

In [1]: import xm
xml xmllib xmlrpclib

可以直接执行如下Unix Shell

In [1]: alias nss netstat -lptn %l
In [2]: cd /tmp
In [3]: !ps aux | grep $user | grep $process
In [4]: pwd
In [5]:
(reverse-i-search)`alias': alias nss netstat -lptn %l
In [6]: %cd?? : 查看Magic %cd的使用帮助以及源码
In [7]: obj?, obj??: 获取相关对象以及magic对象的帮助 (同样也可写做?obj, ??obj).
In [8]: ?:查看ipython的帮助说明文档
In [9]:help(urllib):查看urllib库帮助文档,这个在python解释器中同样可用

    ipython带有好多个实用的magic函数,可通过lsmagic查看,也可通过命令补全查看。下面就介绍一些有用的magic函数

%bg function
    将 function 放到后台执行,之后可以用jobs将其结果取回。jobs.status()则可以查看现有任务的状态。
%ed 或 %edit
    默认调用Vim编辑文件并执行,如果只编辑不执行,用 %ed -x filename 即可。 
%env
    显示环境变量
%dhist %hist %history
    显示所打开文件夹或者敲入命令等历史记录
 %macro [options] name n1-n2 n3-n4 ... n5 .. n6 ...
    创建一个名称为 name 的宏,执行 name 就是执行 n1-n2 n3-n4 ... n5 .. n6 ...  这些代码。
%page
    假如你所处理的对象有太多信息无法一次显示在屏幕中,就可以使用page [-r]
  In [1]: p = !ps aux
  In [2]: page p
%pdoc
    显示类,函数等的docstring   
%pinfo some_module[.function[.object]]
    显示类,函数或者变亮等对象的详细信息  
%pycat filename
    高亮显示 python 文件(无需加.py后缀名)
%psearch x*
    搜索所有以x(任意字符)开头的对象包括关键字
%psource module
    显示模块的定义源代码
%rep n
    显示上一次运行或者指定行号(n)的代码
%save filename n1-n2 n3-n4 ... n5 .. n6 ...
    将指定行数(n1-n2 n3-n4 ... n5 .. n6 ... )的代码保存为文件
%store
    保存本次会话中的某个变量生命,在下一次打开ipython时仍然可用   
%time statement
    计算一段代码的执行时间
%timeit statement
    自动选择重复和循环次数计算一段代码的执行时间
%type
    显示对象数据类型     
%who
%who_ls
%whos
    列出所有的交互式对象,who_ls以列表形式显示,whos则显示更多内容
%unalias:
    清除指定的别名
%upgrade:
    更新你的IPython安装 
%exit 或

    选择y退出ipython运行环境   
 
PS:还有更多magic函数,可通过敲入%便可全部显示,至于每个的用法则可输入?magic相应的函数名进行查看使用.更多特性也可参考官方CookBook .
也可参照《Python-for-Unix-and-Linux-System-Administration》
 
    ipython是我最长用的python工具,熟练使用,则可以让你减少更多繁琐的部分工作。IPython社区也正在继续努力融入更多强大特性。建议您深入学习IPython,我想这对于快速开发python程序的确有用。


查看邮件也能赚钱 Iphone3G B 005 468x60


blog comments powered by Disqus