要实现在早上8点运行脚本并将结果发送到Excel或电子邮件,可以使用Python的schedule和smtplib库来调度任务和发送电子邮件。以下是一个示例代码:
import schedule
import time
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
def job():
# 执行脚本的代码
# 创建Excel文件或者获取脚本结果
# ...
# 发送邮件
from_address = 'sender@example.com'
to_address = 'recipient@example.com'
password = 'your_password'
msg = MIMEMultipart()
msg['From'] = from_address
msg['To'] = to_address
msg['Subject'] = '脚本执行结果'
body = '脚本执行成功。' # 更改为脚本执行结果的内容
msg.attach(MIMEText(body, 'plain'))
filename = 'result.xlsx' # 更改为实际的文件名
attachment = open(filename, 'rb')
part = MIMEBase('application', 'octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', "attachment; filename= %s" % filename)
msg.attach(part)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(from_address, password)
server.send_message(msg)
server.quit()
schedule.every().day.at("08:00").do(job)
while True:
schedule.run_pending()
time.sleep(1)
上述代码使用了schedule库来安排任务在每天的早上8点运行。在job()
函数中,你可以编写实际的脚本代码,创建Excel文件或获取脚本结果。然后,使用smtplib库来发送电子邮件,将结果作为附件添加到邮件中。
请确保在代码中更新发送人的电子邮件地址、收件人的电子邮件地址和发件人的密码。还要将filename
更改为实际的文件名或结果文件名。你还可以自定义邮件的主题和正文内容。
运行上述代码后,脚本将在每天的早上8点运行,并将结果发送到指定的电子邮件地址。