Python中的计时器

Python中的计时器,python,timer,Python,Timer,我正在解决一个问题,我需要每45秒打印一次。因此,我使用了time.sleep(45)并编写了如下代码: import timer def print_data(): print "Hello World!" time.sleep(45) while True: print_data() 我有几个问题,我正在努力理解和学习。我已经重新搜索了这个,但没有找到我要找的答案。请在下面找到我的问题: 如何连续打印上述内容,每45秒等待1小时 我们可以给出一个随机值,比如30-45

我正在解决一个问题,我需要每45秒打印一次。因此,我使用了
time.sleep(45)
并编写了如下代码:

import timer

def print_data():
   print "Hello World!"
   time.sleep(45)

while True:
   print_data()
我有几个问题,我正在努力理解和学习。我已经重新搜索了这个,但没有找到我要找的答案。请在下面找到我的问题:

  • 如何连续打印上述内容,每45秒等待1小时

  • 我们可以给出一个随机值,比如30-45秒的等待时间。所以它可以等待30-45秒之间的任何值

  • 当我每60秒刷新/等待4-5小时时,RAM或CPU表现如何?这会以任何方式影响CPU或RAM吗


  • 请帮助我理解这些问题。任何帮助都将不胜感激。提前感谢。

    这应该满足您的需求:

    import time
    from random import randint
    
    def print_data():
        print "Hello World!"
        time.sleep(randint(30, 45))
    
    def print_data_for(total_time):
        start_time = time.time()
        while time.time() < start_time + total_time:
            print_data()
    
    print_data_for(60*60)  # 1 hour
    
    导入时间
    从随机导入randint
    def print_data():
    打印“你好,世界!”
    睡眠时间(randint(30,45))
    def打印数据(总时间):
    开始时间=time.time()
    while time.time()<开始时间+总时间:
    打印数据()
    打印数据(60*60)#1小时
    

    至于CPU/RAM的使用,根据我的经验(我有一个基于
    sleep
    的脚本,它可以打印监视另一个进程的常规状态消息),当进程空闲时,它的成本根本不是很高,这在这里得到了证实:

    这应该满足您的要求:

    import time
    from random import randint
    
    def print_data():
        print "Hello World!"
        time.sleep(randint(30, 45))
    
    def print_data_for(total_time):
        start_time = time.time()
        while time.time() < start_time + total_time:
            print_data()
    
    print_data_for(60*60)  # 1 hour
    
    导入时间
    从随机导入randint
    def print_data():
    打印“你好,世界!”
    睡眠时间(randint(30,45))
    def打印数据(总时间):
    开始时间=time.time()
    while time.time()<开始时间+总时间:
    打印数据()
    打印数据(60*60)#1小时
    

    至于CPU/RAM的使用,根据我的经验(我有一个基于睡眠的脚本,它可以打印监视另一个进程的常规状态消息),当进程空闲时,它一点也不昂贵,这在这里得到了证实:

    您可以打印每一个随机秒值,并等待键盘中断,因为time.sleep()不起任何作用

        import time
        from random import randint 
    
        def print_data(time, data):
            start_time = time.time()
            if time.time() < start_time + time:
                  pass
            except KeyBoardInterrupt:
                  data = raw_input("what's your value?")
                  print data
            else:
                  print data
    
        data = "Hello World!"
    
        while True:
              print_data(data)
              if time.time() - start_time > (60*5):
                 break
              print "Done!"
    
    导入时间
    从随机导入randint
    def打印数据(时间、数据):
    开始时间=time.time()
    如果time.time()<开始时间+时间:
    通过
    除键盘中断外:
    数据=原始输入(“您的价值是多少?”)
    打印数据
    其他:
    打印数据
    data=“你好,世界!”
    尽管如此:
    打印数据(数据)
    如果time.time()-开始时间>(60*5):
    打破
    打印“完成!”
    
    另外,为了了解CPU和RAM的使用情况,您可以使用psutil库,psutil是一个模块,它提供了一个接口,通过使用Python以可移植的方式检索有关运行进程和系统利用率(CPU、内存)的信息,实现了ps、top和Windows task manager等工具提供的许多功能


    它目前支持Linux、OS X、FreeBSD和Windows,Python版本从2.4到3.1,使用唯一的代码库。

    您可以打印每一个随机秒值,并等待键盘中断,因为time.sleep()不起任何作用

        import time
        from random import randint 
    
        def print_data(time, data):
            start_time = time.time()
            if time.time() < start_time + time:
                  pass
            except KeyBoardInterrupt:
                  data = raw_input("what's your value?")
                  print data
            else:
                  print data
    
        data = "Hello World!"
    
        while True:
              print_data(data)
              if time.time() - start_time > (60*5):
                 break
              print "Done!"
    
    导入时间
    从随机导入randint
    def打印数据(时间、数据):
    开始时间=time.time()
    如果time.time()<开始时间+时间:
    通过
    除键盘中断外:
    数据=原始输入(“您的价值是多少?”)
    打印数据
    其他:
    打印数据
    data=“你好,世界!”
    尽管如此:
    打印数据(数据)
    如果time.time()-开始时间>(60*5):
    打破
    打印“完成!”
    
    另外,为了了解CPU和RAM的使用情况,您可以使用psutil库,psutil是一个模块,它提供了一个接口,通过使用Python以可移植的方式检索有关运行进程和系统利用率(CPU、内存)的信息,实现了ps、top和Windows task manager等工具提供的许多功能


    它目前支持Linux、OS X、FreeBSD和Windows,Python版本从2.4到3.1,使用独特的代码库。

    感谢您的支持,我将浏览您提供的链接!谢谢你,我会浏览你提供的链接!