编程语言
首页 > 编程语言> > 16.10.1 随机分配家务活的电子邮件程序

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,qBittorrent,程序,家务活,电子邮件,下载
来源: https://blog.csdn.net/china365love/article/details/122285717