ipython使用笔记
文章目录
“给我一个强大而又灵活的文本编辑器(vim),一个交互式shell(IPython)以及一个语言(Python),我就能撬动整个世界。”
将IPython用熟了,可以轻松在试验、编码、测试间 “无缝折腾”。
“?” 和 “??” 是 IPython 中最常用的命令。
##和shell交互
- 在shell中使用python变量,加上$
- folder = ‘data’ , mkdir $folder
- !command ,执行shell命令
|
|
##目录/书签
- %pwd: 显示当前工作目录。
- %cd: 切换工作目录。
- %bookmark: 工作目录书签。 (永久?) cd 和 bookmark 配合起来用,非常方便。
|
|
书签跟别名的区别在于,它们会被自动持久化(写到.ipython里?)
##edit edit xx 进入文本 退出后执行文本中代码 默认使用vim,这样就可以跟外部文件沟通啦
|
|
###给ipython edit指定编辑器
eg:(我的mac下)
export EDITOR="/usr/local/bin/vim”
###使编辑生效
reload(hello)
##历史
- %history: 显示历史。
- %hist: %history 别名。
- %dhist: 显示工作目录历史。
- %clear: 清除历史数据。
- %save: 保存输入命令到文件。
可以将多个范围的输入数据保存到文件中。通常用于将交互环境中写的测试代码保存成源码文件。
%save -r test.txt 33-34 36
保存33-34(闭区间)以及36行到当前目录下test.txt文件里
参数 -a 添加到结尾
###自动设置ipython环境
- 写好ipython_context.py
- run ipython_context.py ,相关语句被导入执行,在上下文中
- dir()查看上下文变量
##执行
- %bg: 使用独立线程在后台执行。
- %rep: 获取上一次命令的输出,或提取某个历史命令。
- %run: 用来执行一个脚本,并将相关对象导入交互环境上下文。使用起来类似于熟悉的python test.py
- run命令还可以附加选项,常用的有-t选项,这个会在脚本执行完后,打印出执行的cpu timings。如果指定了-t选项,后面可以跟一个-Nx,x代表一个数字。表示重复执行x次。
- 还有一个-p选项,这个选项会开启python profiler,从而打印出详细的执行时间、函数调用等等信息供优化参考。
- %runlog: 执行记录文件中命令。这对于 “恢复现场” 是非常有帮助地。
##记录
- %logstart: 启动记录器。
- %logon: 开始记录。
- %logoff: 暂停记录。
- %logstate: 查看记录状态。
- %logstop: 关闭记录器。
首先需要用 %logstart 启动记录器,中间可以随时使用 %logon/%logoff 启动或暂停,末了别忘了关闭记录器,确保记录信息写到磁盘文件中。
%logstart 启动后会连同该命令之前的历史记录一起保存,因此要想有个干净起点的话,最好调用 %clear 清理现场
##显示
- %p: Python print 函数的缩写。
- %pfile: 查看对象所在源码文件。
- %pycat: 查看源代码文件。
##搜索
- %psearch: 在当前上下文的命名空间中进行模糊搜索。
- %psearch -i t*.S* 其中 参数 -i 忽略大小写
- 输入 CTRL + R 搜索历史命令
##测试
- %prun: 使用 profile 获取代码执行的性能统计。
- %time: 获取代码执行时间。
- %timeit: 通过多次循环,获得最佳的执行时间评测。 这个命令用来测试一条命令执行的时间,一般而且,会重复100次运行这个命令,然后取出最好的3个结果取平均值。
- %timeit [x*x for x in range(100000)]
##调试
- %debug: 激活交互调试模式。
- %pdb: 激活 pdb 调试模式,在引发异常时自动切入 pdb 调试命令行。
熟悉 pdb 是必须的,别老想着用 print,assert 也比那个强些。
##宏 macro 宏允许用户为一段代码定义一个名字
##配置
- %autoindent: 自动缩进开关。
- %automagic: 打开时可省略 %magic 前的百分号。
- %colors: 彩色方案。
第一次运行ipython时会自动生成配置目录 $HOME/.ipython
##notebook ipython notebook。一个基于web的ipython shell!
notebook使用起来和ipython差不多,不过修改起来方便得多,并且可以建多个notebook,所以使用起来各种方便
#其他
- %reset: 重置 IPython,清理相关环境对象,但历史信息被保留。
#参考资料
文章作者 种瓜
上次更新 2014-09-03