gcong 2016-06-21
原生的Python交互命令行颜色是苍白的、没有自动补全,操作起来很不方便。IPython将Python交互操作从黑白世界带到了彩色世界,并且提供自动补全,属性查询等很多方便的辅助功能。除了常用的交互命令行功能以外,IPython实际上还有很多高级功能,今天让我们来盘点一下。
1. 直接运行常用的shell命令
像切换目录,列出文件这样的常用命令可以直接在IPython中输入shell命令完成。
但是编辑文件有一点不一样,gedit 或者 vim 命令都是没有的,编辑文件要使用命令:
ed -x <文件名>
这个ed是edit(编辑)的缩写,-x表示不运行这个文件。如果没有这个参数 -x ,那么编辑并保存文件后,IPython会把这个文件当做Python代码来执行一遍。
2. 操作Python文件
在IPython中可以使用run命令来运行一个Python文件,这样这个Python文件中定义的变量和类就可以在IPython中使用了。
比如有一个文件example.py,里面只有一行:
infile_var = "I'm in file"
IPython中原先没有infile_var这个变量,通过run命令运行一下文件example.py,IPython中就有了变量infile_var。
正如上图所示,pycat命令能高亮显示一个文件中的Python代码。
3. Python与Shell交互
这个功能对于系统管理员来说实在太有用了。比如我们要创建10个文件,依次命名为job1到job10。手动touch十次感觉太low,但是shell里面for循环语法又很难记。用IPython就简单多了:
整个for循环基本上是Python的语法,除了这句:
! touch $ fn
! 感叹号表示这句是一条shell命令,$美元符号把Python变量变成了Shell变量,就这样轻轻松松地完成了Python和Shell的交互。不要太爱我哦~
4. 路径书签
IPython中还可以给路径添加书签,这样不用每次输入长长的路径了,像这样
IPython的并行计算功能在数据科学领域也非常的有用,不过那需要一个单独的话题来说明,今天就先说到这里,希望对客官有所帮助。