%run命令

在IPython会话环境中,所有文件都可以通过%run命令当做Python程序来运行。

假设在ipython_script_test.py中存放了一段简单的脚本,如下所示:

def f(x,y,z):

return (x+y)/z

a=5

b=6

c=7.5

result=f(a,b,c)

只要将文件名传给%run就可以运行

in[550]: %run ipython_sricpt_test.py

脚本是在一个空的命名空间中运行的(没有任何import,也没有定义任何其他的变量)所以其行为

应该在标准命令行环境(通过python script.py启动的)中执行时一样,此后,该文件中所定义的

全部变量(还有各种import,函数和全局变量)就可以在当前IPython shell中访问 。

In[551]:c

Out[551]:7.5

如果Python脚本需要用到命令行参数,可以将参数放到文件路径的后面

中断正在执行的代码

在任何代码在执行时,只要按下“Ctrl-C”,就会引发一个KeyboardInterrupt。除一些非常特殊的情况之外,绝大部分Python程序都将立即停止执行

执行剪贴板中的代码

1.在多数情况下,可以通过"Ctrl-Shift-V"将剪贴板中的代码片段粘贴出来(Windows中需要右键菜单中粘贴功能,否则只显示一行)

但这种方法有其局限性,因为这种粘贴方式模拟的是在IPython中逐行输入代码,换行符会被处理为<return>

2.使用%paste和%cpaste这两个魔术函数

发现代码有错,"Ctrl-C"即可终止%cpaste提示符

IPython跟编辑器和IDE之间的交互

某些文本编辑器(如Emacs和Vim)带有一些能将代码块直接发送到IPython shell的第三方扩展

键盘快捷键

命令 说明
Ctrl-P或上箭头 后向搜索命令历史中以当前输入的文本开头的命令
Ctrl-N或下箭头 前向搜索命令历史中以当前输入的文本开头的命令
Ctrl-R 按行读取的方向历史搜索(部分匹配)
Ctrl-Shift-v 从粘贴板粘贴文本
Ctrl-C 中止当前正在执行的代码
Ctrl-A 将光标移到行首
Ctrl-E 将光标移到行尾
Ctrl-K 删除从光标开始至行尾的文本
Ctrl-U 清除当前行的所有文本
Ctrl-F 将光标向前移动一个字符
Ctrl-b 将光标向后移动一个字符
Ctrl-L 清空

异常和跟踪

如果%run某段脚本或执行某条语句时发生了异常,IPython默认会输出整个调用栈跟踪(traceback)

其中还会附上调用栈各点附近的几行代码作为上下文参考。

魔术命令

IPython的一些特殊命令(Magic Command),它们有的为常见任务提供便利,有的则使你能轻松控制IPython系统地行为。

魔术命令是以%为前缀的命令

常用的IPython魔术命令

%quickref 显示IPython的快速参考
%magic x显示所有魔术命令的详细文档
%debug c从最新的异常跟踪的底部进入交互式调试器
%hist d打印命令的输入(可选输出)历史
%pdb z在异常发生后进入调试器
%paste z执行剪贴板中的Python代码
%cpaste d打开一个特殊提示符以便于手工粘贴待执行的Python代码
%reset c删除interactive命令空间中的全部变量/名称
%page OBJECT t通过分页器打印输出OBJECT
%run script.py z在IPython中执行一个Python脚本文件
%prun statement t通过cProfile执行statement,并打印分析器的输出结果
%time statement b报告statement的执行时间
%timeit statement d多次执行statement以计算系统平均执行时间。对那些执行时间非常小的代码很有用
%who,%who_ls,%whos x显示interactive命令空间中定义的变量,信息级别/冗余度可变
%xdel variable s删除variable,并尝试清除其在IPython中的对象的一切引用
   

IPython:一种交互式计算和开发环境(魔术命令,快捷键)的更多相关文章

  1. IPython:一种交互式计算和开发环境

    IPython基础 可以通过命令行启动IPython,执行任何Python语句,只需将其输入然后回车. Tab键自动完成 在Shell中输入表达式时,只要按下Tab键,当前命名空间中任何与已输入的字符 ...

  2. IPython:一种交互式计算和开发环境

    一 键盘快捷键 - Ctrl-P    或上箭头键 后向搜索命令历史中以当前输入的文本开头的命令 - Ctrl-N   或下箭头键 前向搜索命令历史中以当前输入的文本开头的命令 - Ctrl-R    ...

  3. IPython+:一个交互式计算和开发环境

    一. IPython基础 代码自动补全:Tab键 可补全内容包括:变量名.函数名.成员变量函数.目录文件 内省(Itrospection) 在变量名之前或之后加上问号(?),这样可以显示这个对象的相关 ...

  4. jupyter notebook :一个交互式计算和开发环境

    一. IPython基础 代码自动补全:Tab键 可补全内容包括:变量名.函数名.成员变量函数.目录文件 内省(Itrospection) 在变量名之前或之后加上问号(?),这样可以显示这个对象的相关 ...

  5. 交互式计算和开发环境:IPython

  6. iOS系统提供开发环境下命令行编译工具:xcodebuild

    iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单 ...

  7. Java开发环境之------MyEclipse快捷键和排除错误第一选择ctrl+1(***重点***:ctrl+1,快速修复---有点像vs中的快速using

    using Java开发环境之------MyEclipse快捷键和排除错误第一选择ctrl+1(***重点***:ctrl+1,快速修复---有点像vs中的快速using 2015-06-29 浏览 ...

  8. Windows下搭建Android NDK开发环境及命令行编译

    首先说明本文内的相关安装操作参考<Pro Android C++ with the NDK>一书. 安装 Windows搭建Android NDK开发环境需要安装如下部分(同时需要配置对应 ...

  9. vue的开发环境搭建命令加图解

    vue的开发环境的搭建 不管什么软件我们都要去官网下载安装,这是作为专业程序员的安全意识. 1.安装node.js 官方下载的页面:点击这里 大约展示的页面是这样子的!我们演示是windows 64位 ...

随机推荐

  1. shape 图形

    主要属性: <?xml version="1.0"encoding="utf-8"?><shape > <corners /> ...

  2. JavaScript各种继承方式(一):原型链继承(prototype chaining)

    一 原理 子类的构造函数的原型对象,是父类的构造函数创建的实例. function Fruit(){ this.name = '水果'; this.nutrition=['维生素','膳食纤维']; ...

  3. 安装routeos

    直接开机,会看到: 选择全部安装即可,按a.i即可. 默认账号admin,默认没有密码 基本使用 可通过/ip,/interface等可以进去不同子功能模块,可进行print,add,remove等操 ...

  4. 问题2:css图片、文字居中

    1. 文本或图片水平对齐:父元素中添加以下样式     text-align : center;2. 单行文字垂直对齐:父元素中添加以下样式     line-height : 父元素高度; 3.图片 ...

  5. 项目总结10:通过反射解决springboot环境下从redis取缓存进行转换时出现ClassCastException异常问题

    通过反射解决springboot环境下从redis取缓存进行转换时出现ClassCastException异常问题 关键字 springboot热部署  ClassCastException异常 反射 ...

  6. 分布式大数据多维数据分析(olap)引擎kylin[转]

    Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay 开发并贡献至开源社区.它能在亚秒内查询巨大的Hiv ...

  7. python使用sqlite

    摘自python帮助文档 一.基本用法 import sqlite3 conn = sqlite3.connect('example.db')#conn = sqlite3.connect(':mem ...

  8. 零基础照样做RNA-seq差异分析

    零基础照样做RNA-seq差异分析 GCBI知识库2018-08-24 14:43:36 基因表达谱的差异分析是RNA-seq中最常见的应用.你眼中的RNA-seq差异分析或许是酱紫的,对不会编程,不 ...

  9. 还没有写完准备弡上cpickle 还有字典

    #!/usr/bin/python #Filename: cpickle.py import cPickle as p import os shoplistfile="shoplist.da ...

  10. LibreOJ #6002. 「网络流 24 题」最小路径覆盖

    #6002. 「网络流 24 题」最小路径覆盖 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:Special Judge 上传者: 匿名 提交提交记录统计讨论测 ...