使用Python制做手动推送陌陌消息提醒的备忘录功能
优采云 发布时间: 2020-08-09 17:11使用Python制做手动推送陌陌消息提醒的备忘录功能
更新时间:2018年09月06日 16:32:13 转载作者:程序员集聚地
这篇文章主要介绍了使用Python制做手动推送陌陌消息提醒的备忘录功能,本文给你们介绍的十分详尽,具有一定的参考借鉴价值,需要的同事参考下吧
日常工作生活中,事情一多,就会忘掉一些该做未做的事情。即使有时候把事情记录在了小笔记本上或则手机、电脑端备忘录上,也总会有查看不及时,导致错过的难堪。如果有一款小工具,可以及时提醒,而不用再主动去查备忘录,化被动为主动,那就再合适不过了。因此,在这里我们就借助Python,实现这样的一款“小工具”。
初步构想
毫无疑问,手机是当前使用最频繁的工具,没有之一。饭可以不喝,手机不可以不带。如果能在个别特定的时点,将备忘记录事项通过某种方式发送到手机端,通过查看手机端消息实现事项提醒,那将是再好不过了。而手机端最常用的实时通信工具,非陌陌莫属。关于向手机端推送陌陌消息的功能,在之前的小项目中早已使用过,这里可以直接套用。
【更新2.0】Python手动检测自如房源状态,推送陌陌消息提醒状态变更
于是,我们有了以下思路:
首先,要有一个可以记录事项的文档,用来记录备忘事项的内容、提醒时间、是否办结等;
其次,扫描这个文档,获取事项内容,判断事项是否办结,如已办结需容许对文档的更改,标记办结标志;
然后,设置一套提醒逻辑,规定在哪些时间、什么情况下提醒;
随后,特殊情境处理,要就能在不干扰程序正常运行的条件下,添加新的备忘事项,并且新添加事项才能被扫描到;
最后,在规定的时间和情景下,推送陌陌消息。
根据以上剖析,需要的工具,收录三部份:
一个可以编撰和运行Python代码的编辑器;
一部装有陌陌的手机,最好有两个微信号;
一个拿来记录事项的Excel文档。
用图表示如下:
用Python设计一个可以手动推送陌陌消息提醒的备忘录!
运行前打算
Excel文档设计
为了记录事项,需要有一个拿来保存事项记录的Excel文档。需要对文档记录逐字读取,获取事项内容、办结时间、办结标志等,因此须要对文档格式进行规范。现在简单的进行了设计,模式如下:
这是一个十分简单的模式了,第二列内容是具体提醒事项的详尽内容;第三列日期列要根据“2018/09/02 18:00”的格式书写,需要获取该列的日期、时间;第四列是事项办结标志,已办结事项标明为“是”。
对于须要提醒事项,需要根据如下格式记录:
运行结果
直接运行程序,Excel文档内容变化如下:
我们看见,日期在当前时间(运行代码的时间)之前的事项,即已办结事项,内容会添加背景色,“是否完成”标注为“是”。另外,程序会整合未办结事项内容,推送陌陌通知,如下:
小编在此感谢你们的观看!Python很容易学!所以小编有弄一个交流,互问互答,资源共享的交流学习基地,如果你也是Python的学习者或则大牛都欢迎你来!:548+377+875!一起 学习共同进步!
几点说明
首先,因为实现特别的简单,过程粗鲁、不饱满,一看代码就懂(后附全部代码),故不多介绍实现过程和逻辑,以免贻笑大方;其次,有几点说明一下,如果诸位有好的看法,请留言告知,便于我优化构建;最后,想法小于实用,突发奇想,周末又有点时间而已。
关于陌陌推送消息:用Python的itchat模块实现,仅仅是登陆、指定好友发送消息、退出等这样简单的操作,感兴趣的可以直接去搜索该模块,有好多参考资料;
xlrd、xlwt和xlutils:xlrd打开Excel是只读的,不能更改;xlwt是可以对Excel文档更改,但是通常是新建一个文档,然后在此基础上更改,对于已有内容的文档,就不适用了,因此借用了xlutils,而xlutils在xlrd和xlwt之间构建了一个桥梁,实现了读和写;
在添加新的事项时,需要打开Excel文档,如果没有特殊处理,又刚好遇见程序对文档的保存时会报错,因此使用了try…except结构,遇到文档占用,会跳过该次扫描,休息指定时间后重新开始;
对于未办结事项,什么时间推送消息、一天推送几次,都可以按照自身须要调节;
对于已办结事项,没有进行删掉,而是仅仅改变了格式继续保留出来,程序运行时,还须要对这种事项进行扫描,自然会导致资源浪费,不删掉是因为想记录做过的事项,便于日后查看,另外,对我个人而言,短时间内也不会积累大量的事项,不会导致很大的影响,当然可以添加一些机制进行处理,比如联通到另外一个工作表中。
代码
<p>
# 导入模块
import xlrd
from xlutils.copy import copy
import xlwt
import itchat
import datetime
import time
# 使用手机扫描二维码登录微信
def WeChatLogin():
itchat.login()
# 给指定好友发送指定内容的消息
def SendAMassage(friend, message):
users = itchat.search_friends(name=friend)
userName = users[0]['UserName']
itchat.send(message, toUserName = userName)
# 按照指定格式修改excel表格内容
def ModifyContent(row,col,content,sheet,new_remindbook,path,style):
# 获取工作表内容
new_sheet = new_remindbook.get_sheet(0)
# 写入数据
new_sheet.write(row,col,content,style)
# 保存文件
new_remindbook.save(path)
# 判断提醒是否过期
def Overdue(nowtime,deadtime):
if deadtime