while : if : 任务1每分钟一次 任务2,在while 中循环执行。
任务2 正常运行
怎么计时,能让 if 里的任务1每分钟一次呢?
谢谢
可以用threading多线程模块和time时间模块来解决这个问题,可以看看下面的代码:
# 公用代码: import time import threading # 方案一:有时间间隔代码放分线程 class threading0(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): while True: # 条件自定,不能为空。 #执行等待任务(时间不超过1秒,超过1秒可从sleep中减去)。 time.sleep(60) # 单位:秒 threading0().start() while True: # 条件自定,不能为空。 # 执行不等待任务 # 方案二:无时间间隔代码放分线程 class threading0(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): while True: # 条件自定,不能为空。 # 执行不等待任务 threading0().start() while True: # 条件自定,不能为空。 #执行等待任务(时间不超过1秒,超过1秒可从sleep中减去)。 time.sleep(60) # 单位:秒 # 方案三:有时间间隔代码无时间间隔代码统统放分线程 class threading0(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): while True: # 条件自定,不能为空。 # 执行不等待任务 class threading1(threading.Thread): def __init__(self): threading.Thread._init__(self) def run(self): while True: # 条件自定,不能为空。 #执行等待任务(时间不超过1秒,超过1秒可从sleep中减去)。 time.sleep(60) # 单位:秒 t0 = threading0() t1 = threading1() t0.start() t1.start() # 下面的代码可要可不要,只是用于等待线程运行完毕,如果是死循环,那么就可以不写下面的代码。 t1.join() t2.join() # 执行线程结束后需要运行的代码。(不用运行代码的就当我没说)
结尾说一下,threading和time一般是不需要安装的,导入报错再去安装,下面是安装代码:(如果装了再装会报错)
//我用的是Windows。 //首先按快捷键:win + r 打开运行命令窗口,接着输入“cmd”打开命令提示符。 //输入下面代码:
cd 你的安装目录\Scripts\ //官网下载命令: pip install time //time模块 pip install threading //threading模块 //国内镜像网站下载:(清华大学) pip install -i https://pypi.tuna.tsinghua.edu.cn/simple time //清华大学镜像安装time pip install -i https://pypi.tuna.tsinghua.edu.cn/simple threading //清华大学镜像安装threading