当前位置: 首页 > 面试题库 >

在python中中断/中断time.sleep()

钦侯林
2023-03-14
问题内容

我需要使用ctrl c从time.sleep()中断。

While 1:
    time.sleep(60)

在上面的代码中,当控件进入time.sleep函数时,整整60秒钟需要经过python处理CTRL C

有什么优雅的方法可以做到这一点。这样我就可以在控件处于及时状态时中断我的睡眠功能

编辑

我在一个旧的实现中对其进行了测试,该实现在Windows 2000上使用python 2.2,这引起了所有麻烦。如果我使用了更高版本的python CTRL
C,则会中断sleep()。我通过在for循环内调用sleep(1)进行了快速破解。暂时解决了我的问题


问题答案:

不确定这段代码的含义是什么-但如有必要,请使用更短的sleep()间隔并在其周围放置一个for循环:

for i in range(60):
   sleep(1)

使用try..except捕获 KeyboardInterrupt 异常很简单



 类似资料:
  • 是否已经有了Python3的实现(或至少绑定到Python3)? 我可以看到Github上有一个原始的Java实现,但我没有看到Python3的任何内容。

  • 在 linux 内核中你会发现很多关于中断和异常处理的话题 中断和中断处理 Part 1. - 描述中断处理主题 深入 Linux 内核中的中断 - 这部分开始描述和初步步骤相关的中断和异常处理。 初步中断处理 - 描述初步中断处理。 中断处理 - fourth part describes first non-early interrupt handlers. 异常处理的实现 - 一些异常处理的

  • 退出(终止)循环。在各种循环中都是有效的。 Break [, LoopLabel] [AHK_L 59+]:如果指定了 LoopLabel,它确定了此语句应该应用于哪层循环;使用标签名或嵌套层级的数值表示。如果省略或为 1,此语句应用于它所在的最内层循环。LoopLabel 必须为常量,不支持变量和表达式。如果指定标签,则它必须直接指向循环命令。 鼓励使用 Break 和 Continue 代替

  • 中断 常见的中断控制器有两种:传统的8259A和新式的APIC,前者也被称为"PIC"。8259A只适合单CPU的场合,而APIC则能够把中断传递给系统中的每个CPU,从而充分挖掘SMP体系结构的并行性。所以8259A已经被淘汰了。APIC系 统由3部分组成:APIC总线(前端总线)、IO-APIC(南桥)、本地APIC(CPU)。每个CPU中集成了一个本地APIC,负责传递中断信号到 处理器。而

  • 关闭中断进行全局变量的访问 关闭中断进行全局变量的访问 源码/* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2018-08-24 yangjie the first versi

  • 问题内容: 在以下python代码中: 我得到: 为什么? 问题答案: 因为break不能用于中断if-它只能中断循环。这就是指定Python(和大多数其他语言)运行的方式。 你想做什么?也许您应该使用还是代替?