ipython具备变量自动补全的功能吗_python初学常见问题记录(3)--Ipython用法

(1)python 模拟 ipython 使用TAB 键进行自动补全功能

>>> import rlcompleter, readline

>>> readline.parse_and_bind('tab:complete')  #### 完成以上两句语句后,便可用tab键进行一些补全功能,下面是举例os;

>>> import os

>>> os.li

os.linesep   os.link(     os.listdir(

>>> os.listdir(

Display all 176 possibilities? (y or n)

>>> os.listdir(

(2)ipython 简介

ipython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩近,支持 bash shell 命令,内置了许多很有用的功能和函数。在ubuntu 下只要 sudo apt-get install ipython 就装好了,通过 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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值