zoukankan      html  css  js  c++  java
  • python

    python - 定时任务和邮件收发

    场景:遇到的某些任务只能在局域网电脑上执行,但是又不需要一直执行下去,因此我想做个利用邮件内容控制的Python程序,来实现简单的“远程”的控制。首先需要的是一个定时模块,我想叫它心跳模块,每3分钟收取一次邮件。

    邮件收发

    收取邮件利用smtplib,发送邮件使用poplib。参考1 电子邮件 - 廖雪峰的官方网站

    循环/定时任务

    参考2 python中的定时任务 - 博客园 code:

    import sched,time
    s = sched.scheduler(time.time, time.sleep)
    c = 0
    def _clk():
        global c    
        c += 1
        print (c)
        if c == 10:
            print ('over')
            return 0
        s.enter(1,1,_clk)
        s.run()
    
    s.enter(5,1,_clk) #5s后执行 _clk(), 1 是优先级、0是最高优先级。
    s.run()
    

    scheduler : 调度,上面 s 用来实例化这个【调度容器】。5s后开始执行 _clk() ,print 到 10 立即 over 。
    如果用线程,需要用到thrunding,但是仔细考虑到我用线程执行这个任务可能会并发执行?会不会死机?对线程了解的还不太够,再滚回去用sched吧.

    from thrunding import Timer
    count = 0
    def loopfunc(msg,starttime):
        global count
        count += 1
        if count < 3:
            Timer(3, loopfunc, ('world %d' % (count), time.time())).start()
    
    Timer(3, loopfunc, ('world %d' % (count), time.time())).start()
    
  • 相关阅读:
    【刷题-LeetCode】165 Compare Version Numbers
    python 22 内置模块2
    python 21 内置模块
    python 20 模块,包,及开发目录规范
    python 19
    python 18 三元,生成,递推
    定时抓取数据并存入数据库
    抓取财报数据
    金币
    交换座位
  • 原文地址:https://www.cnblogs.com/aubucuo/p/python15.html
Copyright © 2011-2022 走看看