2009年10月13日星期二

Ipython 交互式 python 解释器 - Life is being……

Ipython 交互式 python 解释器 - Life is being……: "Ipython 交互式 python 解释器
[星期三, 四月 15, 2009 | 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运行环境"

没有评论:

发表评论