手机版
你好,游客 登录 注册
阅读内容

Python的命令行交互 IPython

运行环境:
授权方式:BSD
软件大小:M
下载量:
更新日期:2015-02-28
来源地址:
联系作者:Linux

IPython 是 Python 的原生交互式 shell 的增强版,可以完成许多不同寻常的任务,比如帮助实现并行化计算;主要使用它提供的交互性帮助,比如代码着色、改进了的命令行回调、制表符完成、宏功能以及改进了的交互式帮助。

IPython

下面是 IPython 中几个简单好用的 magic函数:

%bg function把 function 放到后台执行,例如: %bg myfunc(x, y,z=1),之后可以用jobs将其结果取回。myvar = jobs.result(5) 或 myvar =jobs[5].result。另外,jobs.status() 可以查看现有任务的状态。

%ed 或 %edit编辑一个文件并执行,如果只编辑不执行,用 ed -x filename 即可。

%env显示环境变量

%hist 或 %history显示历史记录

%macro name n1-n2 n3-n4 ... n5 .. n6 ...创建一个名称为 name 的宏,执行 name 就是执行 n1-n2 n3-n4 ... n5 .. n6 ...这些代码。

%pwd显示当前目录

%pycat filename用语法高亮显示一个 python 文件(不用加.py后缀名)

%save filename n1-n2 n3-n4 ... n5 .. n6 ...将执行过多代码保存为文件

%time statement计算一段代码的执行时间

%timeit statement自动选择重复和循环次数计算一段代码的执行时间,太方便了。

另外,IPython 中用 ! 表示执行 shell 命令,用 $ 将 python 的变量转化成shell 变量。通过这种两个符号,我们就可以做到和 shell命令之间的交互,可以非常方便地做许多复杂的工作。比如你可以很方便地创建一组目录:

for i in range(10):

s = "dir%s" % i

!mkdir $s

不过写法上还是有一些限制,$ 后面只能跟变量名,不能直接写复杂表达式,$"dir%s"%i 就是错误的写法了,所以要先完全产生python 的变量以后再用。像

for i in !ls: print i

这样的写法也是错的,可以这样:

a = !ls

for i in a: print i

还有一点需要说明,就是执行普通的 shell 命令中如果有 $的话需要用两个 $。比如原来的echo $PATH现在得写成!echo$$PATH。

在较新的IPython版本中,添加了IPython notebook的功能,弥补了IPython shell下代码不易保存等缺点,并且在使用 --pylab inline选项后,可以在代码执行后立即显示运行结果(包括图片,数据表格等),因此在数据分析中运用十分广泛。

CentOS 6.4 中IPython如何启动Qt控制台和NoteBook?  http://www.linuxidc.com/Linux/2014-04/100037.htm

CentOS 5安装IPython  http://www.linuxidc.com/Linux/2014-04/100038.htm

CentOS和RHEL安装 IPython 0.11  http://www.linuxidc.com/Linux/2014-04/100041.htm

CentOS6.5安装Python2.7.8以及安装IPython  http://www.linuxidc.com/Linux/2015-01/111092.htm

linux
相关资讯       IPython 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款