【发布时间】:2019-02-18 22:33:41
【问题描述】:
我们设置树莓派来测量服务器室温,并使用 python 脚本以"Temp: 24.0 C Humidity: 67.0 %"(每 2 秒更新一次)格式将输出保存在文本文件中。
现在我正在寻找 python 代码来从文本文件中读取温度值(例如 24.0),如果条件为真,例如(Temp>35.0),则向我发送电子邮件,否则什么也不做并退出。
我是 python 新手,所以请帮帮我,我们已经编写了电子邮件代码及其工作,只需在下面的代码中启用上述条件即可。
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
fromaddr = "sender@gmail.com"
toaddr = "recipient@gmail.com"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "Alert: Server Room "
body = "Server room current temprature is : "
msg.attach(MIMEText(body, 'plain'))
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "password")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
此脚本将使用cron 选项卡运行。
【问题讨论】:
-
读取文件,然后用
Humidity分割行。首先将其拆分为space,从列表中获取temp值,将其转换为(int),然后根据需要使用它。 -
如果你只是学习 Python,你应该专注于当前支持和推荐的语言版本,即 Python 3。版本 2 原定于今年早些时候结束,尽管它在呼吸器上花了几年时间来帮助那些已经在旧版本上进行了大量投资的人。
标签: python python-2.7 smtp