网络编程
位置:首页>> 网络编程>> Python编程>> 刚学完怎么用Python实现定时任务,转头就跑去撩妹!

刚学完怎么用Python实现定时任务,转头就跑去撩妹!

作者:大家一起学编程(python)  发布时间:2022-07-09 06:50:02 

标签:Python,定时任务

一、发送消息


import smtplib
from email.mime.text import MIMEText
from email.header import Header
def send_massage(text):
   from_addr = '2469784691@qq.com'  # 邮件发送人账号
   to_addrs = '2469784691@qq.com'  # 接收人邮件账号,可以写自己的
   qqCode = 'ohkp123fmsldiji'  # 授权码(这个要填自己获取到的)
   stmp = smtplib.SMTP_SSL('smtp.qq.com', 465)# 配置服务器
   stmp.login(from_addr, qqCode)#发送人登陆
   message = MIMEText(text, 'plain', 'utf-8')  # 发送的内容
   message['From'] = Header("你的爱人", 'utf-8')  # 发件人
   message['To'] = Header("老婆", 'utf-8')  # 收件人
   subject = '每天都给你发消息'#主题
   message['Subject'] = Header(subject, 'utf-8')  # 邮件标题
   try:
       stmp.sendmail(from_addr, to_addrs, message.as_string())# 发送
   except Exception as e:
       print('邮件发送失败--' + str(e))
send_massage("因为痛苦太有价值,因为回忆太珍贵,所以我们更要继续往前走")

如图,这下,发送消息的函数已经有了,然后我们继续来看。

二、定时发送消息

女朋友说:我要你每天早上8点,给我发送一条消息。

A方案(无装饰器,传参)

a、不传参

模块只需要导入import schedule 


schedule.every().day.at("8:00").do(send_massage)#不传参数while True:#循环控制 schedule.run_pending()#run_pending:运行所有可以运行的任务
time.sleep(1)#防止运算速度过快,添加等待。如果不添加可能会导致计算机卡顿。Cpu直线飙升

就这么搞定了,然后女朋友又说了,你怎么没有给我发送内容。

好嘛,参数没传。

b、传参


schedule.every().day.at("8:00").do(send_massage,text="内容")#传参数,多个就传多个

B方案(有装饰器,传参)

a、不传参


from schedule import *
@repeat(every().day.at("8:00"))#在所需函数前添加
def send_massage(text):…
while True:#循环控制
   run_pending()#run_pending:运行所有可以运行的任务    
time.sleep(1)#防止运算速度过快,添加等待。如果不添加可能会导致计算机卡顿。Cpu直线飙升

b、传参


from schedule import *
@repeat(every().day.at("8:00"),text="内容")#在所需函数前添加,参数多个就传多个
def send_massage(text):…
while True:#循环控制
   run_pending()#run_pending:运行所有可以运行的任务
   time.sleep(1)#防止运算速度过快,添加等待。如果不添加可能会导致计算机卡顿。Cpu直线飙升

三、多线程发送消息

来源:https://blog.csdn.net/qq_39046854/article/details/117481019

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com