ipython是一个交互式计算系统_IPython:一种交互式计算和开发环境(魔术命令,快捷键)...

%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中逐行输入代码,换行符会被处理为

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中的对象的一切引用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值