IPython高级用法及注意事项

部落原创,禁止转载,欢迎转发


原生的Python交互命令行颜色是苍白的、没有自动补全,操作起来很不方便。IPython将Python交互操作从黑白世界带到了彩色世界,并且提供自动补全,属性查询等很多方便的辅助功能。除了常用的交互命令行功能以外,IPython实际上还有很多高级功能,今天让我们来盘点一下。


1. 直接运行常用的shell命令


像切换目录,列出文件这样的常用命令可以直接在IPython中输入shell命令完成。

ipython1.png

但是编辑文件有一点不一样,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。

83d8eeb49487423da2891dcd8e09fcd2.png

正如上图所示,pycat命令能高亮显示一个文件中的Python代码。


3. Python与Shell交互


这个功能对于系统管理员来说实在太有用了。比如我们要创建10个文件,依次命名为job1到job10。手动touch十次感觉太low,但是shell里面for循环语法又很难记。用IPython就简单多了:

df2021c9752740a6b475eada563b0617.png

整个for循环基本上是Python的语法,除了这句:

! touch  $ fn


! 感叹号表示这句是一条shell命令,$美元符号把Python变量变成了Shell变量,就这样轻轻松松地完成了Python和Shell的交互。不要太爱我哦~


4. 路径书签


IPython中还可以给路径添加书签,这样不用每次输入长长的路径了,像这样

ipython5.png



IPython的并行计算功能在数据科学领域也非常的有用,不过那需要一个单独的话题来说明,今天就先说到这里,希望对客官有所帮助。


 

2月15日11:00到13:00网站停机维护,13:00前恢复
iPy智能助手 双击展开
查看更多聊天记录
(Ctrl+回车)换行