如何让Python脚本按不同时间间隔重复执行?
实现交替时间间隔执行的两种方法
方法一:用循环迭代器轮流使用间隔
可以用itertools.cycle创建一个循环迭代器,把需要交替的间隔时长放进列表里,每次执行完main()后,取下一个间隔值进行sleep。
修改后的代码:
import time from itertools import cycle if __name__ == '__main__': # 定义要交替的间隔秒数,比如500秒、800秒 intervals = cycle([500, 800]) while True: main() time.sleep(next(intervals))
原理:cycle会循环输出列表里的元素,第一次取500,第二次800,第三次又回到500,以此类推,完美实现交替间隔。如果后续需要增加更多间隔类型,直接在列表里添加数值即可。
方法二:用布尔变量切换间隔
如果不想导入额外模块,用一个布尔变量标记当前应该使用哪个间隔,每次执行后切换标记即可。
修改后的代码:
import time if __name__ == '__main__': use_first_interval = True while True: main() if use_first_interval: time.sleep(500) else: time.sleep(800) # 切换间隔标记 use_first_interval = not use_first_interval
原理:每次循环结束后反转布尔变量的值,实现间隔在500和800秒之间交替。这种方式无需额外依赖,适合仅两种间隔的简单场景。
内容的提问来源于stack exchange,提问作者user22491191
相关产品推荐
相关产品推荐

