0
点赞
收藏
分享

微信扫一扫

【论文阅读】Real-time Constrained Cycle Detection in Large Dynamic Graphs

大漠雪关山月 2023-12-10 阅读 30

 

 目录

1.前言

2.技术介绍

(1)任务计划程序

(2)Windows批处理程序

(3)天气爬虫程序

(4)自动发邮件程序

3.源码

(1)发送邮件的Python源码:

(2)编写run.bat批处理程序: 

4.创建定时任务

(1)右键单击左下角Windows图标-计算机管理

(2) 创建任务

(3)自定义触发条件:

(4)编辑操作

5.运行测试

(1)运行python程序测试

(2)运行批处理程序测试

(3)定时任务程序运行


1.前言

        本文将介绍使用Windows系统自带的任务计划程序,定时运行一个自动发送天气提醒邮件批处理程序!这个批处理程序中将调用我们提前编写好的Python程序,包含天气信息爬虫程序和自动化发送邮件的程序。

2.技术介绍

(1)任务计划程序

(2)Windows批处理程序

(3)天气爬虫程序

(4)自动发邮件程序

3.源码

(1)发送邮件的Python源码:

import smtplib
from email.mime.text import MIMEText
from email.header import Header
import base64
from spider.dingzhi_weather_spader import GetDingZhiWeather
from spider.sk_weather_spider import GetSkWeather

# 发件人邮箱
sender = '填写发件人邮箱'
# 发件人邮箱密码(注意不是QQ密码,是授权码)
password = '填写发件人邮箱授权码'
# 收件人邮箱,可以是多个邮箱,使用列表存储
receiver = ['xxx@qq.com']    # 记得换成收件人的邮箱

#获取天气
dingzhi_weather = GetDingZhiWeather.get_dingzhi_weather(101220901)
shikuang_weather = GetSkWeather.get_sk_weather(101220901)


data = f'''
********************实况天气********************
{shikuang_weather}
********************今日天气********************
{dingzhi_weather}
********************播报完成********************
'''
print(data)

# 邮件主题
subject = '天气提醒'
info = data

# 发件人昵称,如果昵称包含非ASCII字符,如中文,则请使用base64对昵称进行编码。
nickname = "天气提示助手"
encoded_nickname = str(base64.b64encode(nickname.encode('utf-8'))).replace("b'", "").replace("'", "")

message = MIMEText(info, 'plain', 'utf-8')  # 邮件正文
# message['From'] = Header(f'abc <{sender}>')  # 发件人昵称(昵称全为ASCII字符)
message['From'] = Header(f'"=?UTF-8?B?{encoded_nickname}?=" <{sender}>')  # 发件人昵称(昵称包含非ASCII字符,如中文)
message['To'] = Header(receiver[0])    # 收件人昵称
message['Subject'] = Header(subject, 'utf-8')   # 邮件主题

# SSL协议端口号要使用465
smtp_ssl_server = 'smtp.qq.com'
smtp_ssl_port = 465

try:
    # 登录SMTP服务器,发送邮件
    smtpObj = smtplib.SMTP_SSL(smtp_ssl_server, smtp_ssl_port)
    smtpObj.login(sender, password)
    smtpObj.sendmail(sender, receiver, message.as_string())
    print(f"发送给 {receiver} 的邮件发送成功!")
except smtplib.SMTPException as e:
    print("邮件发送失败!", e)

(2)编写run.bat批处理程序: 

4.创建定时任务

(1)右键单击左下角Windows图标-计算机管理

(2) 创建任务

(3)自定义触发条件:

(4)编辑操作

        在操作里就是启动run.bat批处理程序 

5.运行测试

(1)运行python程序测试

(2)运行批处理程序测试

        为了方便截图,这里我将批处理程序里最后一行换成pause,目的是暂停批处理程序的执行,直到用户按下任意键才会继续。如果使用exit则运行完毕直接关闭窗口了!

(3)定时任务程序运行

        收件人也收到了邮件提示:        

举报

相关推荐

0 条评论