Python 中取消计时器

2024-02-15

我正在Python中的定时器类上工作,并为其编写了一个简单的测试代码。我的目的是打印“hello world”消息 10 次,然后在迭代完成后取消计时器。问题是我无法取消计时器,并且代码似乎无限地打印“hello world”。

下面是我的代码:

from threading import Timer

class myclass():
    iteration_count = 0
    heartbeat = 1

    def printMsg(self):
        print "hello world!"

    def start_job(self):

        self.printMsg()

        self.iteration_count = self.iteration_count + 1

        if self.iteration_count == 10:
            Timer(self.heartbeat, self.start_job, ()).cancel()

        Timer(self.heartbeat, self.start_job, ()).start()


m = myclass()
m.start_job()

我正在使用Python 2.7 任何帮助将不胜感激


你的问题是你又做了一个Timer() in if条件和.cancel()它。以下代码解决了您的问题:

from threading import Timer

class MyClass(object):
    def __init__(self):
        self.iteration_count = 0
        self.heartbeat = 1

    @staticmethod
    def print_msg():
        print "hello world!"

    def start_job(self):
        self.print_msg()
        self.iteration_count += 1

        timer = Timer(
            interval=self.heartbeat,
            function=self.start_job,
        )
        timer.start()

        if self.iteration_count >= 10:
            timer.cancel()

MyClass().start_job()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中取消计时器 的相关文章

随机推荐

  • mongodb - 查找具有最接近整数值的文档

    假设我有一个文档集合 其比率属性是浮点数 ratio 1 437 如何编写一个查询来查找与给定整数最接近的值的单个文档 而不使用驱动程序将它们全部加载到内存中并找到具有最小值的文档abs x ratio 有趣的问题 我不知道你是否可以在单个
  • 将 data.table 聚合到原始值间隔的行

    我有一些data table金额列如下 n 1e5 set seed 1 dt lt data table id 1 n amount pmax 0 rnorm n mean 5e3 sd 1e4 给出的中断向量如下 breaks lt a
  • 在数组中查找与另一种颜色最接近的颜色的最佳算法是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Ionic / Bower / cordova - 忽略构建文件

    我的项目结构如下 MyApp hooks platforms android ios www js css templates lib including all bower components 眼下 www lib目录正在占用21 8
  • 离线 3D 交互式饼图

    我想构建一个 3D 交互式饼图 首先我使用谷歌图表 但不幸的是这不能离线工作 我使用了 jpgraph jscharts 和 rgraph 中的图表 但没有达到我想要的效果 我想要一个图表 它必须是免费的 可以离线工作 并且与谷歌图表具有大
  • 通过 UILabel 文本的第一行将图像居中

    我想将图像居中到 UILabel 文本第一行的 Y 位置中心 我使用砌体来设置自动布局约束 如下所示 haveReadIndicatorImgView mas makeConstraints MASConstraintMaker make
  • 没有 Spring 的 Spring JDBC 模板

    是否有像 Spring JDBC Template 这样的 Java 库 具有相同质量的代码和文档以及类似的数据访问异常层次结构 但不依赖于其他 Spring 模块 根据 core beans context 模块http mvnrepos
  • java程序要求用户输入第二大和最大的数字

    java program that asks user to input a number and print the 1st and 2nd largest numbers import java util Scanner public
  • 类型双关语与联盟成员访问

    按照这个https stackoverflow com a 1812932 1814023 https stackoverflow com a 1812932 1814023 writing one member of union and
  • PHP 将 JSON 数据从 Android 插入 MySQL 数据库

    我有一个 Android 应用程序 它通过 HTTP POST 方法将数据发送到 PHP 脚本 并尝试解析数据以存储到 MySQL 中 Android 应用程序不是我编写的 但我可以访问下面包含的源代码 它发送打包为 JSON 数组的数据
  • 注解:通过注解限制对类的引用

    我认为这是不可能的 但也许我错了 所以我问你 是否可以 如果我定义一个仅接受扩展某些接口或类的类引用的注释 这是可能的 Class
  • 如何模拟第三方React Native NativeModules?

    组件正在导入包含本机模块的库 这是一个人为的例子 import React from react import View from react native import Answers from react native fabric e
  • foreach 中的 Stringbuilder 比 for 和 String.Join() 中的 Stringbuilder 在集合上更糟糕?

    在这里看到一个关于连接字符串的问题 我做了一些测试 并了解到在 foreach 中连接字符串比使用 for 循环和使用数组中的索引要慢 由于对数组进行边界检查 for 循环不应该更慢吗 对 strings i 进行边界检查 foreach
  • 将框架转换为库

    我想在 iOS 应用程序中使用下面链接中找到的框架 我让它在模拟器中工作 但经过一番挖掘后 您似乎无法在设备上使用框架 尤其是通过 App Store 分发时 如果我错了 请纠正我 https github com mirek YAML f
  • 提交后,信息应发送至电子邮件[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我的网页上有一个 查询 选项卡 查询选项卡包含以下信息 Name Email Number Details 单击 提交 按钮后 上述详细信息
  • Unity函数可以立即从3D管道访问2D盒子吗?

    在 Unity 中 假设你有一个 3D 对象 当然 获得 AABB 很简单 Unity 有直接的函数 您可能必须以通常的方式 添加渲染器的所有边界框 没有问题 因此 Unity 确实有一个直接功能 可以在每一帧的内部网格 渲染管道之外立即为
  • 外部 SVG 未加载媒体查询

    我目前使用应用了内联样式的外部 svg 但它不会加载样式 最初我使用 img 来包含外部 svg 如下所示 img src https lw com example svg SVG 文件看起来与此类似
  • 如何将 2 个 fftw_complex 数组相乘

    Heading 你好 我正在尝试将两个 fftw complex 类型的数组相乘 我应该怎么做 这是代码 fftw complex rInF gInF bInF fftw complex rOutF gOutF bOutF for int
  • C 程序测量指令的执行时间

    我需要找到执行一条指令或几条指令所需的时间 并以毫秒为单位打印出来 有人可以分享一下这方面的小代码片段吗 谢谢 我需要使用这个方法来衡量在我的项目中执行一些指令所花费的时间 include
  • Python 中取消计时器

    我正在Python中的定时器类上工作 并为其编写了一个简单的测试代码 我的目的是打印 hello world 消息 10 次 然后在迭代完成后取消计时器 问题是我无法取消计时器 并且代码似乎无限地打印 hello world 下面是我的代码