2

如果我想在两次之间的随机时间执行命令,我该怎么做?

例如,在 10 秒到 60 分钟之间的随机时间发送以下请求?

import requests

r = requests.get('https://api.github.com/events')
4

3 回答 3

3

最简单的实现是让您的程序休眠 10 到 3600 秒之间的随机时间。

您可以使用该time.sleep()方法使您的程序暂停,并使用该方法在和random.randint(x, y)之间生成一个随机数xy

import time, random, requests

time.sleep(random.randint(10, 3600))
r = requests.get('https://api.github.com/events')
于 2017-09-28T12:19:21.030 回答
1

您可以使用该random模块

import random
import time

secondstowait = random.randint(10, 60)
minutestowait = random.randint(0, 59) * 60 # converts minutes to seconds

time.sleep(secondstowait + minutestowait)

模块中的sleep()函数time显然会在请求的秒数内停止您的程序

于 2017-09-28T12:21:00.173 回答
1

虽然有很多方法可以做到这一点,但您可以尝试使用功能齐全的库来避免重新发明轮子,这样可以满足更复杂的需求。由于您的示例代码段是 python,请查看Simpy

它是一个出色的全功能库,例如您的示例以及更复杂的全功能模拟。

于 2017-09-28T12:23:16.497 回答