16.10.1 随机分配家务活的电子邮件程序
2022/1/3 12:07:41
本文主要是介绍16.10.1 随机分配家务活的电子邮件程序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
随机分配家务活的电子邮件程序
编写一个程序,接受一个电子邮件地址的列表,以及一个需要做的家务活列表,并随机将家务活分配给他们。用电子邮件通知每个人分配给他们的家务。如果你觉得需要挑战,就记录每个人之前分配家务活的记录,这样就可以确
保程序不会向任何人分配上一次同样的家务活。另一个可能的功能,就是安排程序每周自动运行一次。
这里有一个提示:如果将一个列表传入 random.choice()函数,它将从该列表中返回一个随机选择的项。你的部分代码看起来可能像这样:
chores = ['dishes', 'bathroom', 'vacuum', 'walk dog'] randomChore = random.choice(chores)
chores.remove(randomChore) # this chore is now taken, so remove it
16.10.2 伞提醒程序
第 11 章展示了如何利用 requests 模块,从
http://weather.gov/抓取数据。编写一个程序,在你早晨快醒来时运行,检查当天是否会下雨。如果会下雨,让程序用短信提醒你出门之前带好一把伞。
16.10.3 自动退订
编程扫描你的电子邮件账户,在所有邮件中找到所有退订链接,并自动在浏览器中打开它们。该程序必须登录到你的电子邮件服务提供商的 IMAP 服务器,并下载所有电子邮件。可以用
BeautifulSoup(在第 11 章中介绍)检查所有出现unsubscribe
(退订)的HTML 链接标签。
得到这些 URL 的列表后,可以用 webbrowser.open(),在浏览器中自动打开所有这些链接。
仍然需要手工操作并完成所有额外的步骤,从这些邮件列表中退订。在大多数情况下,这需要点击一个链接确认。
但这个脚本让你不必查看所有电子邮件,寻找退订链接。然后,可以将这个脚本转给你的朋友,让他们能够针对他们的电子邮件账户运行它(要确保你的邮箱密码没有硬编码在源代码中)。
16.10.4 通过电子邮件控制你的电脑
编写一个程序,每 15 分钟检查电子邮件账户,获取用电子邮件发送的所有指令,并自动执行这些指令。例如,BitTorrent 是一个对等网络下载系统。利用免费的 BitTorrent 软件,如
qBittorrent,可以在家用电脑上下载很大的媒体文件。如果你用电子邮件向该程序发送一个(完全合法的,根本不是盗版的)BitTorrent
链接,该程序将检查电子邮件,发现这个消息,提取链接,然后启动
qBittorrent,开始下载文件。通过这种方式,你可以在离开家的时候让家用电脑开始下载,这些(完全合法的,根本不是盗版的)下载在你回家前就能完成。
第 15 章介绍了如何利用 subprocess.Popen()函数启动计算机上的程序。例如,下面的调用将启动 qBittorrent 程序,并打开一个 torrent 文件:
qbProcess = subprocess.Popen(['C:\\Program Files (x86)\\qBittorrent\\ qbittorrent.exe',
'shakespeare_complete_works.torrent'])
当然,你希望该程序确保邮件来自于你自己。具体来说,你可能希望该邮件包含一个密码,因为在电子邮件中伪造“from”地址,对黑客来说很容易。该程序应该删除它发现的邮件,这样就不会每次检查电子邮件账户时重复
执行命令。作为一个额外的功能,让程序每次执行命令时,用电子邮件或短信给你发一条确认信息。因
为该程序运行时,你不会坐在运行它的计算机前面,所以利用日志函数(参见第 10
章)写文本文件日志是一个好主意,你可以检查是否发生错误。
qBittorrent(以及其他BitTorrent 应用程序)有一个功能,下载完成后,它可以自动退出。第 15 章解释了如何用Popen 对象的
wait()方法,确定启动的应用程序何时已经退出。wait()方法调用将阻塞,直到 qBittorrent 停止,然后程序可以通过电子邮件或短信,通知你下载已经完成。
可以为这个项目添加许多可能的功能。如果遇到困难,可以从 http://nostarch. com/automatestuff/下载这个程序的示例实现。
这篇关于16.10.1 随机分配家务活的电子邮件程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南