摘抄自《Learning IPython for Interactive Computing and Data Visualization》,内容:基本的ipython用法、命令等。
Chapter 01 Getting started
IPython十大精髓 - P.13
在ipython console中可以直接输命令
和正常的python解析器一样。同时还支持常用的linux系统命令,例如ls, mkdir, rm之类。另外,在任何一个变量或者命令之后加?,??
都会获得相应的解释。把ipy当做system shell
例如cd, cp这些命令。还有众多的magic commands(输入lsmagic可以查看)。magic commands的标志是前面有个%,但是也是可以省略的,使用%automagic把这一项功能进行开关。Using the history
_, __, ___
分别表示最近的三次输出
_i, _ii, _iii
分别表示最近的三次输入Tab completion
可以补全类的属性等等,私有属性可以补全:默认情况下,tab不全不显示私有变量,但是可以加一个下划线来强迫显示。使用%run来运行脚本
特点是运行完,脚本中的变量都会进入当前的interactive namespace中。但是当前的命名空间中的东西不会进入到script中的。如果想要他进入,用-i 选项。
%run -i script.py # 把当前session中的变量纳入到script的作用域中
%pfile demo.py # 可以用来查看py文件,systax on的
%run -t demo.py # 测时间
%run -p demo.py # profiling%timeit 用于快速benchmark
%time method1 = [x for x in strings if x.startswith(‘foo’)]
%timeit method1 = [x for x in strings if x.startswith(‘foo’)]
对于任意语句,它会自动多次执行以产生一个非常精确的平均执行时间%debug 用于快速debug
%pylab用于交互计算
IPy notebook
定制自己的IPython
Chapter 02 Interactive Work with IPython
Magic Commands
%alias # 列出所有的alias
%alias A B # 把命令B起别名为A
%alias largest ls -1sSh | grep %s # %s用来传递参数
%unalias largest # 删除别名
%store largest # 保存,以便在会话结束后还可以用
%store -r # 下次用先恢复一下
%store -d largest # 删除保存的largest别名
%bookmark -l # 列出所有的书签(p23)
%bookmark AA # 把当前目录列为书签,叫AA
%bookmark -d AA # 删除AA书签
files = !ls -1 -S | grep edges # 注意这里的写法
!head -n5 {files[0]} # 列出前5个,注意{}