首页 新闻 搜索 专区 学院

python 里怎么计时,让任务间隔1分钟运行,又不影响其它任务

0
[已解决问题] 解决于 2020-07-01 14:59
while :
    if :
       任务1每分钟一次
    任务2,在while 中循环执行。

任务2 正常运行

怎么计时,能让 if 里的任务1每分钟一次呢?

谢谢

还没有的主页 还没有 | 菜鸟二级 | 园豆:495
提问于:2020-05-26 15:29
< >
分享
最佳答案
0

可以用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

 

奖励园豆:5
平凡的Python学者 | 菜鸟二级 |园豆:324 | 2020-06-28 12:27
其他回答(4)
1

开线程开线程开线程

会长 | 园豆:8068 (大侠五级) | 2020-05-26 16:33
0
还没有 | 园豆:495 (菜鸟二级) | 2020-06-16 21:58
0

定时器自己实现

骑着兔子的蜗牛 | 园豆:295 (菜鸟二级) | 2020-06-18 22:11
0

apscheduler 了解下,专业的时间调度器,可以用cron的方式调度任务!很方便

素老奸 | 园豆:202 (菜鸟二级) | 2020-07-31 18:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册