12
返回列表 发新帖
楼主: jieforest

IPython开发介绍

[复制链接]
论坛徽章:
277
马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11版主9段
日期:2012-11-25 02:21:03ITPUB年度最佳版主
日期:2014-02-19 10:05:27现任管理团队成员
日期:2011-05-07 01:45:08
11#
 楼主| 发表于 2014-1-25 19:29 | 只看该作者
%run命令

在IPython会话环境中,所有文件都可以通过%run命令当做Python程序来运行。假设你在ipython_script_test.py中存放了一段简单的脚本,如下所示:
  1. def f(x, y, z):
  2. return (x + y) / z
  3. a = 5
  4. b = 6
  5. c = 7.5
  6. result = f(a, b, c)
复制代码
只要将文件名传给%run就可以运行了:
  1. In [550]: %run ipython_script_test.py
复制代码

使用道具 举报

回复
论坛徽章:
277
马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11版主9段
日期:2012-11-25 02:21:03ITPUB年度最佳版主
日期:2014-02-19 10:05:27现任管理团队成员
日期:2011-05-07 01:45:08
12#
 楼主| 发表于 2014-1-27 13:03 | 只看该作者
本帖最后由 jieforest 于 2014-1-27 13:03 编辑

脚本是在一个空的命名空间中运行的(没有任何imp o r t,也没有定义任何其他的变量),所以其行为应该跟在标准命令行环境(通过python script.py启动的)中执行时一样。此后,该文件中所定义的全部变量(还有各种import、函数和全局变量)就可以在当前IPython shell中访问了(除非发生了异常):
  1. In [551]: c
  2. Out[551]: 7.5
  3. In [552]: result
  4. Out[552]: 1.4666666666666666
复制代码
如果Python脚本需要用到命令行参数(通过sys.argv访问),可以将参数放到文件路径的后面,就像在命令行上执行那样。

使用道具 举报

回复
论坛徽章:
277
马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11版主9段
日期:2012-11-25 02:21:03ITPUB年度最佳版主
日期:2014-02-19 10:05:27现任管理团队成员
日期:2011-05-07 01:45:08
13#
 楼主| 发表于 2014-1-27 13:04 | 只看该作者
中断正在执行的代码

任何代码在执行时(无论是通过%r u n执行的脚本,还是长时间运行的命令),只要按下“Ctrl-C”,就会引发一个KeyboardInterrupt。除一些非常特殊的情况之外,绝大部分Python程序都将立即停止执行。

警告: 当Python代码已经调用了某个已编译的扩展模块时,按下“Ctrl-C”将无法使程序立即停止执行。在这种情况下,要么只能等待Python解释器重新获得控制权,要么只能通过操作系统的任务管理器强制终止Python进程(比较极端的情况下才需要这么干)。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表