当前位置: 首页 > news >正文

python while跳出_python – 在while循环中生成绘图后在KeyboardInterrupt上退出

我正在使用matplotlib实时监控实验,以在while循环中生成绘图.理想情况下,循环应该退出像KeyboardInterrupt这样的东西.这在Ubuntu测试中运行良好.在

Windows 7中,使用ipython,它会以“终止批处理作业(是/否)?”退出.然后关闭翻译.我想避免这种行为,并在KeyboardInterrupt之后保持解释器打开.这是一个测试脚本.

[编辑2]:如果ipython作为ipython –pylab加载,此脚本在Windows中可以正常工作.

import time

import numpy as np

import matplotlib.pyplot as plt

fig = plt.figure()

ax = fig.add_subplot(111)

line, = ax.plot([0], [0], 'b-o')

window = 50

plot_data = np.zeros((window, 2))

i = 0

start = time.time()

while True:

try:

data = [time.time() - start, np.random.rand()]

print ' '.join('{:.2f}'.format(x) for x in data)

if i < window:

plot_data[i,:] = data

line.set_data(plot_data[0:i+1,0], plot_data[0:i+1,1])

else:

plot_data[0:window-1] = plot_data[1:window]

plot_data[window-1] = data

line.set_data(plot_data[:,0], plot_data[:,1])

ax.relim()

ax.autoscale_view(True,True,True)

fig.canvas.draw()

plt.pause(0.1)

i += 1

except KeyboardInterrupt:

print "Program ended by user.\n"

break

print 'Success!'

[编辑1]:我应该更清楚为什么我用matplotlib标记这个.以下示例脚本在任一操作系统中都不会出现问题.

i = 0

start = time.time()

while True:

try:

data = [time.time() - start, np.random.rand()]

print ' '.join('{:.2f}'.format(x) for x in data)

time.sleep(0.1)

except KeyboardInterrupt:

print "Proram ended by user. \n"

break

print 'Success!'

昨天安装了所有软件包,作为Enthought的全新安装的一部分.

相关文章:

  • python斐波那契数列_Python 迭代器案例:生成斐波那契数列
  • 安卓安装python第三方库_python安装第三方库的方法(一般方式、easy
  • 后端中文收到的都是问号_学完这些后端技术栈,我秃了,也变强了!
  • bootstraptable获取所有数据_一文搞定Redis五大数据类型及应用场景
  • 华硕门店点亮系统_华硕ROG机电散热专访:一体化整合乃最大优势
  • exe打包工具_QT系列之如何打包可执行程序,让QT程序进入任意一台电脑
  • conda jupyter pytorch_PyTorch进阶之路(一):张量与梯度
  • pytorch dataset读取数据流程_动手学习深度学习Pytorch——线性回归
  • python如何将列表去掉引号_如何将你的 Python 项目全面自动化?
  • 用python进行自然语言处理_用python进行图片整理
  • dbf文件怎么创建_spring boot 配置文件properties和YAML详解
  • python中类与对象之间的关系_面向对象进阶之类和类之间的关系
  • 网关是什么意思_网关的理解
  • matlab toolbox下载_Mac上Matlab常见问题
  • python redis 操作_Python redis set集合操作
  • 【翻译】babel对TC39装饰器草案的实现
  • Android 架构优化~MVP 架构改造
  • CODING 缺陷管理功能正式开始公测
  • ES10 特性的完整指南
  • export和import的用法总结
  • Go 语言编译器的 //go: 详解
  • MySQL数据库运维之数据恢复
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • PAT A1120
  • Python打包系统简单入门
  • Redash本地开发环境搭建
  • 对象管理器(defineProperty)学习笔记
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 前端之React实战:创建跨平台的项目架构
  • 使用 @font-face
  • 手写双向链表LinkedList的几个常用功能
  • 小程序button引导用户授权
  • 责任链模式的两种实现
  • 从如何停掉 Promise 链说起
  • 交换综合实验一
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • $(function(){})与(function($){....})(jQuery)的区别
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (8)STL算法之替换
  • (二)JAVA使用POI操作excel
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (区间dp) (经典例题) 石子合并
  • (十八)SpringBoot之发送QQ邮件
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .NET和.COM和.CN域名区别
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .NET应用架构设计:原则、模式与实践 目录预览
  • ??eclipse的安装配置问题!??
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • @RequestBody的使用