Python“预警机”

比如考研时候,总是要关注学校通知,有时间就要去官网看看。所以为了解决这个问题,简单写了这个程序:

  • 每5分钟检测探测一次;
  • 如果有“事件”发生,则自动给邮箱发邮件提醒;

根据此功能,抽象的称为“预警机”。

主要结构

根据这个结构,主要修改detect() 就可方便的写出针对不同事件的“预警机”。

详细代码参考:Python-utilities/自动发邮件 at master · KpiHang/Python-utilities (github.com)

class EarlyWarning:
    """
    EarlyWarning : 预警机(检测事件 + 发送提醒);
    Func detect() -> bool: 监测到事件后返回true;
    Func sendWarning() : 发送提醒;
    """
    def __init__(self) -> None:
        self.MSG_FROM = os.getenv('MSG_FROM')
        self.MSG_TO = os.getenv('MSG_TO')
        self.AUTHORIZATION_CODE = os.getenv('AUTHORIZATION_CODE')
        self.latest = ""  	# 记录最新通知的时间;
        self.info = {}    	# 记录更新主要内容;
        
    def detect(self):				# 触发事件根据需求不同,用户自定义变动;
    def sendWarning(self):  # 较少变动
    def working(self): 			# 较少变动

部署开启

Linux后台运行:

nohup python autoQQemail.py > autoQQemail.log 2>&1 &

其他

一个小终端计时器:

starttime = time.time()
while True:
    print('Next detect 倒计时: ', round(time.time() - starttime, 0), '秒', end="\r") # /r 回到行首
    time.sleep(1)
    if round(time.time() - starttime, 0) >= 300: 
        break

参考目录

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python“预警机” - Python技术站

(0)
上一篇 2023年4月2日 下午5:24
下一篇 2023年4月2日 下午5:24

相关文章

  • 可迭代对象以及迭代器的说明

    可迭代对象通过iter(),转化为迭代器对象,迭代器可以使用next()访问,可迭代对象不能直接使用next(); 迭代器是一个可以记住遍历的位置的对象,所以可以方便的使用next()。 可迭代对象(iterable):凡是具有__iter__的方法的类,都是可迭代的类。可迭代类创建的对象实现了__iter__方法,因此就是可迭代对象。用list、tuple…

    Python开发 2023年3月31日
    00
合作推广
合作推广
分享本页
返回顶部