【问题标题】:How can I pause a Python script every x minutes? [duplicate]如何每 x 分钟暂停一次 Python 脚本? [复制]
【发布时间】:2021-09-06 08:31:39
【问题描述】:

正在寻找一种方法来每 x 分钟暂停(然后再恢复)Python 脚本(带有一个小的随机 +/-)。原始脚本会一遍又一遍地运行,然后每隔 x 分钟就会暂停一段时间(同样是随机的 +/-),然后继续。

【问题讨论】:

标签: python scripting


【解决方案1】:

这是一个使用random.uniform() 生成随机浮点数和time.sleep() 等待给定时间的示例代码。

import random
import time

BASE_DELAY = 60   # base amount in seconds
RAND_MAX = 30     # high end of random in seconds
RAND_MIN = -30    # low end of random in seconds

running = True

def do_stuff():
    #do stuff here, maybe setting running to False
    pass

def loop():
    while running:
        time.sleep(BASE_DELAY + random.uniform(RAND_MIN, RAND_MAX))
        do_stuff()

loop()

【讨论】:

  • 我应该在哪里包含我的原始代码?抱歉,我是编码新手。
  • 您可以用您想要做的事情替换对do_stuff() 的调用,或者您可以在do_stuff 函数中添加它们而不是pass。 (顺便说一句,我愿意提供帮助,但请先尝试自己找到问题的解决方案。也许观看涵盖基础知识的 Python 教程 - 那里有很多非常好的资源。我在这里使用的概念是循环和函数,所以是比较简单的东西)
【解决方案2】:
import time
import random

# this will pause between 1 & 10 minutes, randomly.
time.sleep(60*(random.randint(1, 10)))

【讨论】:

  • 会暂停 1-10 分钟,还是每 1-10 分钟暂停一次?
  • 这将暂停 1 - 10 分钟。 (随机的)。如果您需要特定的时间,您可以更改为:time.sleep(60*5) #这将暂停 5 分钟。
猜你喜欢
  • 2016-03-28
  • 2017-08-16
  • 2021-12-17
  • 1970-01-01
  • 1970-01-01
  • 2017-08-25
  • 1970-01-01
  • 1970-01-01
  • 2021-07-16
相关资源
最近更新 更多