文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

用Python编写一个私人助理程序,为我们起草电子邮件

2024-12-11 21:49

关注
[[330084]]

1. 助手功能

我们要创建一个助手,可以写电子邮件。只需要输入收件人的名字或昵称,其余的都由它来处理。要写一封好的电子邮件,这个程序会查看我们制作的Excel表格,里面有我通常每周都会给他们发邮件的人的基本信息。例如,如果我输入Caleb(我想要给谁发电子邮件的名字),它会为我复制以下内容:

  1. Full name: Caleb (Coco) Stephano 
  2. Email to send to: stevens.coco12345@snailmail.com 
  3.  
  4. Hi Coco, 
  5. I hope all is well on the UX team! 
  6.    
  7. Thanks, 
  8. Ben 

2. 输入程序指令

为了让您的Python助手帮助您,您可能需要向它提出一些要求。首先,提示用户输入文本:

  1. answer=input('What can I help you with? Enter here: ') 

当您运行您的文件时,您将注意到在终端或命令提示符中,光标正好放在上面圆括号内的文本之后,为您的输入做好准备。

3. 使用openpyxl从Excel中获取数据

假设你在Excel表格中有关于你所有朋友的信息。更具体地说,是他们的姓和名、昵称、电子邮件地址、兴趣爱好等等。您可以使用openpyxl从该工作表中提取数据,以便您的Python助手可以使用它:

  1. import openpyxl 
  2. book = openpyxl.load_workbook(r'Put_Your_Path_To_Sheet_Here') 
  3. ws = book.active 

您现在可以使用ws来做各种事情。例如,让我们用我们的朋友的例子,想象每一列是一个信息列表:


这张单子上写着Beth很喜欢打网球。然而,我们不应该每次都打开和搜索我们的表单来记住这一点。我们的助理会帮我们的。例如,下面的附加代码将列昵称数据存储到数组中。这样,你的助手可以搜索和处理你的数据:

  1. import openpyxl 
  2. #SET UP SHEET 
  3. book = openpyxl.load_workbook(r'Put_Your_Path_To_Sheet_Here') 
  4. ws = book.active 
  5. #SET UP ARRAY TO HOLD NICKNAMES 
  6. nickArray=[] 
  7. #APPEND NICKNAMES IN LIST, RUNNING THROUGH COLUMN B OF THE SHEET UNTIL THERE'S AN EMPTY CELL 
  8. skip=True 
  9. firstRow=True 
  10. for cell in ws['B']:  
  11.     if (cell.value==None):   
  12.         continue  
  13.     if (skip==False):   
  14.         nickArray.append(cell.value)  
  15.         firstRow=False  
  16.     skip=False 
  17. #PRINT ALL ITEMS IN THAT ROW TO SEE THAT IT WORKS 
  18. for x in nickArray: 
  19.     print(x) 

这段代码查看工作表的列B,跳过第一行(通常是行),然后扫描整行数据,直到没有剩下。它将每个项添加到数组中。

4. 使用tkinter显示用户友好的消息

在电脑上,人们通常不会在终端机或命令提示符中埋头工作。通常,你会使用一些不错的用户界面,比如Microsoft Word或谷歌Chrome。您可能会注意到,您通过带有按钮的漂亮窗口和这些程序交互。这就是好的UX/UI发挥作用的地方。

到目前为止,您和助手在终端或命令提示符中通信,这不是理想的UI。Python的tkinter库包含允许您创建新的和改进的UI的工具。

下面是一个简单的例子。假设当我们运行update .py文件以使用最新的Excel表信息更新我们的助手时,我们希望显示一条“update Successful”消息:

  1. #THIS IS IN updater.py 
  2. from tkinter import * 
  3.    
  4.   #DISPLAY SUCCESS MESSAGE 
  5. root=Tk() 
  6. labelfont=('times', 20, 'bold')    
  7. root.title('Success Confirmation')    
  8. successText='Your update was successful'              
  9. widget=Label(root, text=successTextwraplength=600justify=LEFT
  10. widget.config(height=35width=90
  11. widget.pack(expand=YESfill=BOTH
  12. root.mainloop() 

它的工作方式是将tkinter根目录设置为基本窗口构建块,并在其上添加额外的细节。我添加了、正文文本、关于文本外观的详细信息、窗口尺寸以及关于窗口功能的其他规范。当你运行这个文件时,最终结果看起来是这样的:

[[330085]]

5. 使用pyperclip将文本复制到剪贴板

为我起草邮件的助手会在我面前显示邮件文本。使用pyperclip库,它有工具可以自动将任何文本复制到剪贴板:

  1. #THIS IS IN assistant.py 
  2. import pyperclip 
  3. myText="Hi Coco,\n\n"+"I hope all is well on the UX team!\n\n"+"Thanks,\n"+"Ben" 
  4. pyperclip.copy(myText) 

6. 将文本写入日志

如果您希望保留一个日志,其中包含您的助手上次帮助您的时间,该怎么办?创建一个名为log.py的新Python文件。这就是日志。如果您的助手有以下代码,则可以始终使用日期和时间为您填充日志:

  1. #THIS IS IN assistant.py 
  2. #IMPORT LIBRARY THAT GETS CURRENT DATE AND TIME 
  3. import datetime  
  4. #CREATE AND NEW DATE AND TIME 
  5. now = datetime.datetime.now()  
  6. #WRITE DATE AND TIME TO THE LOG 
  7. with open("log.py", "w") as f1:         
  8. f1.writelines(now.strftime("%Y-%m-%d %H:%M:%S") 

原文:

https://medium.com/swlh/i-used-python-to-make-a-personal-assistant-and-it-drafts-emails-for-me-434ac3ab6d38

 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯