作者丨Frank Andrade,译者丨王德朕, 如果你正在学习Python,那应该尝试在日常任务中实现自动化。这个过程中不仅能通过实践已经掌握的知识来继续学习Python,而且会让你看到努力是可以得到回报的。, 最近,由于缺乏时间,我经常将工作任务用自动化实现,这里多亏我有5个新项目,我将它们分为初级、中级和高级。你会发现每个项目的完整脚本和教程地址,此外,我还为每个项目布置了一个挑战任务,用于测试你的Python能力。, 你有多少次不得不使用Word来创建求职信、合同协议、简历或报告呢?如果你数不过来,那这个项目就是为你准备的。, 在这个项目中,我们需要使用Python和一个名为docxtpl 的库来自动生成Word文档,为此,需要准备一个用于实现自动化任务的文档模板,在模板中,我们必须为要替换的单词上添加占位符,占位符用 {{}} 表示。, 为了简单起见,我已经为求职信创建了一个模板。,
,图片由作者提供, 为了使这个项目对初学者友好,只需使用 Python 和 docxtpl 替换元素 {{my_name}}、{{my_phone}}、{{my_email}}、{{my_address}}和{{today_date}}即可。, 挑战任务:如果你想让这个项目更上一层楼,可尝试从Excel文件中提取数据,并在Word模板中引入它。, 上述教程的第二部分有一个Excel文件,该文件如下表所示。, +-------+-----+------------+----------------+, | Name | ... | address | job |, +-------+-----+------------+----------------+, | Frank | ... | 123 Avenue | Data Scientist |, | ... | ... | ... | ... |, | John | ... | XYZ Avenue | Web Developer |, +-------+-----+------------+----------------+, 你应该为表的每一行生成一个文档。, 我曾经做过最无聊的工作任务之一就是发邮件,这个初级项目的目的和内容是:重要的电子邮件应该被仔细阅读和认真回复,但日常工作的电子邮件应该被自动处理!接下来我们将用Python实现自动发送电子邮件。, 如何将这个任务自动化?我们只需要使用内置模块 smtplib 和 email,其中 smtplib 模块用于实现简单邮件传输协议(SMTP)发送电子邮件,email 模块实现电子邮件的读,写,发送复杂 MIME 消息。, 下面是使用 Gmail 自动发送电子邮件的分步教程:, l 如何开启2步验证以便能够用Python使用Gmail;, l 如何使用 Python 发送普通电子邮件;, l 如何处理可能遇到的 SSL 错误;, 挑战任务: 如果你想让这个项目更具挑战性,可以尝试在电子邮件中用imghdr 库添加图片。, 填写表单是互联网是最乏味的任务之一,一遍又一遍的填写姓名,电话,地址和更多信息是最无聊的。更加糟糕的是,有时候你不得不用假数据来填写调查表单。, 在这里中级项目中,我们要用 Python 向网络表格填写假数据,并且将该任务自动化,这会使用一个Web自动化库,它允许我们执行 Web 操作,例如访问网站,输入文本,点击按钮。, 下面是关于如何用Python将这项繁琐的任务自动化的分步教程。, 挑战任务:我们在本教程中填写的表单仅有简单元素。如果你想让这个任务更具挑战性,可以在表单中添加高级元素,例如下拉菜单和多项选择题,然后尝试将这个高级表单实现自动化填写。, 在约会软件上向右滑动非常耗时的,以至于找到匹配对象之后,就会忽略网恋最重要的部分——将网恋对象转化为真正的约会对象!, 这个高级项目包含一个机器人,它可以替你在软件上右滑,这样你就可以在搭讪台词上下功夫,提高你的转换率。, 是什么让这个项目变得高级?有很多,仅罗列如下几个:, 毫无疑问,将工作中的一项繁琐任务自动化是你能做的最具挑战性的事情,为什么呢?因为这种情况下大概是是没有一个分步教程来指导你的,你必须自己思考使用什么Python库,以及用哪种方法来实现任务自动化。, 要了解将任务自动化的方法,请回答以下问题:, 如果你能回答上述三个问题,那即使你找不到如何实现该任务自动化的特定教程,也可以通过查看某些代码库的文档学习如何实现该任务的自动化。, 王德朕,51CTO社区编辑,10年互联网产研经验,6年IT教培行业经验。,原文标题:5 Python Projects to Automate Your Life: From Beginner to Advanced,链接:https://towardsdatascience.com/5-python-projects-to-automate-your-life-from-beginner-to-advanced-90fe29a7d664,
© 版权声明
文章版权归作者所有,未经允许请勿转载。