我用20多行代码,帮老师开发了一款发送生日祝福的小工具
作者| GitPython
来源| GitPython
继上次“点亮网易云音乐灰色歌曲”的文章后,老师开始觉得我是个技术流。
作为辅导员,她手下管着300多人,几乎每天都会有过生日的同学。但是,体贴的她想要及时地为每一位同学发送生日祝福。
可是,数据躺在excel表格中,每次都得筛选出当日过生日的同学,然后,根据筛选出来的名单,再通过微信一个一个的送上祝福。
老师跟我提了一个这样的想法:
能不能做个小工具自动把生日名单筛选出来?
能不能自动地为每位过生日的同学发送定制的祝福?
我想了想,觉得这事可行。
01
编写思路
1)读取学生信息
如果查询当日的日期和学生生日一样的话,就把学生的信息打印出来。获取日期可用time模块。
2)为过生日的同学发送祝福
这一步主要用到“微信名称”,通过微信名称找到该学生,并通过获取的姓名,实现定制生日祝福。
02
实现过程
先来看一下要导入的表格信息。
记得另存为 student_info.csv 文件,放在与py文件同目录下。
微信昵称:wxpy模块是通过它来找到指定的微信好友
姓名:可实现定制消息内容
生日格式:xx-xx-xx
1)读取学生信息
通过Pandas模块,读取学生信息。通过Time模块,获取当日的日期。遍历表格每一行,筛选出符合条件的名单(wxmc),返回一个列表。
1def get_birthday_student_list():23 # 1.读取学生信息表4 df = pd.read_csv('./student_info.csv')56 # 2.获取当日日期7 now_time = time.strftime("%Y-%m-%d", time.localtime())8 # print(now_time) # 2019-09-269
10 wx_list = []
11
12 # 3.遍历表格,筛选出当天过生日的同学
13 for index, row in df.iterrows():
14
15 # 找到满足条件的同学,返回一个列表
16 # 当天过生日的同学
17 if now_time == row['birthday']:
18 # print(row['wxnc'], row['birthday'])
19 wx_list.append(row['wxnc'])
20
21 return wx_list
2)发送消息
通过wxpy模块,找到指定的微信好友,并发送消息。如果出现异常,会发送信息到微信传输助手。
1def send_message(wx):23 # 向每一位过生日的同学发送祝福4 try:5 # 1.对方的微信名称6 my_friend = bot.friends().search(wx)[0]78 # 2.定制消息9 message = "生日快乐!"
10 # 发送消息给对方
11 my_friend.send(message)
12 except:
13 # 出问题时,发送信息到文件传输助手
14 bot.file_helper.send(u"出问题了,赶紧去看看咋回事~")
3)主函数
1if __name__ == '__main__':23 # 1.获取过生日的学生名单4 wx_list = get_birthday_student_list()56 # 2.利用 wxpy 模块,初始化机器人对象7 bot = Bot()89 # 3.向每一位过生日的同学发送祝福
10 for wx in wx_list:
11 send_message(wx)
03
使用说明
调用程序后,会出现一个二维码,扫码登录微信。等待一会,过生日的同学们就会收到微信祝福了。
在表格里,我把我的小号设置为(2019-09-26)生日。程序会根据我小号的昵称 静下心来,好好阅读。把生日祝福发送过去。
补充说明:
1)还可以自定义一些生日祝福的话语,随机发送给不同的同学,显得更加“私人订制”。
2)后期,需要把文件打包为exe程序,供老师使用。
源码地址关注公众号「GitPython」
后台回复「生日祝福」即可获取!-END-往期精彩回顾
1.我是怎么批量下载百度图片的?2.自动监测Github项目,并打开网页!3.Python实战演练|1234组成的不重复百位数
最近建立了一个GitPython微信交流群
扫描上方二维码,备注py,
我会拉你进群,
与小伙伴们共同交流成长!
我用20多行代码,帮老师开发了一款发送生日祝福的小工具相关推荐
- 面对 20 亿行代码,Google 如何管理?
面对"Google 这家公司有多大?"这种问题,你可能会用收入.股票价格.客户数量或者是形而上学的影响力来回答这个问题.但是,这还不是全部.Google 作为全球最大的互联网公司, ...
- 2020 年腾讯新增 20 亿行代码,鹅厂第一编程语言还是它
点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:推荐19个github超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 近日,腾讯发布了<20 ...
- 60行代码 5分钟开发一个数字货币行情软件
本文旨在研究数字货币量化交易.无意中发现,其实一款简易的行情软件可能5真的只要5分钟-就留下这篇教程,希望让更多的人了解到相关的开发.抛砖引玉~ 技术栈: html css js vue elemen ...
- 腾讯 2020年新增 20 亿行代码,C++蝉联腾讯最受欢迎的编程语言
作为国内科技巨头,腾讯的产品早已覆盖到了每个国人手中,不过这家公司对于自身技术一直比较「低调」.3 月 18 日下午,腾讯今天对外发布 2020 年度<腾讯研发大数据报告>,披露了 202 ...
- python爬煎蛋妹子图--20多行代码搞定煎蛋妹子图库
如果说一个人够无聊的话... 就会做一些十分美(wei)丽(suo)的事情啦哈哈哈... 好的,话不多说,进入正题. 正如标题所示,我们今天的目标很简单: 代码要少,妹子要好. 步骤如下: 1. 首先 ...
- 5行代码帮你梳理EOS.IO的脉络
EOS号称Blockchain上的操作系统,且白皮书和开发日志都描述的非常美好,同时也有无数人看好这个项目,但对于一个开源项目来说,再好的愿景,还是需要实际产品的支撑,永远都要记住 Talk is c ...
- 40行代码教你利用Python网络爬虫批量抓取小视频
1. 前言 还在为在线看小视频缓存慢发愁吗?还在为想重新回味优秀作品但找不到资源而忧虑吗?莫要慌,让python来帮你解决,40行代码教你爬遍小视频网站,先批量下载后仔细观看,岂不美哉! 2. 整理思 ...
- python爬取小视频-40行代码教你利用Python网络爬虫批量抓取小视频
/1 前言/ 还在为在线看小视频缓存慢发愁吗?还在为想重新回味优秀作品但找不到资源而忧虑吗?莫要慌,让python来帮你解决,40行代码教你爬遍小视频网站,先批量下载后仔细观看,岂不美哉! /2 整理 ...
- 识别字体软件测试,2行代码帮你搞定自动化测试的文字识别
前言 Airtest是一款 基于图像识别原理 的跨平台UI自动化测试框架,它能够根据大量的 特征点 来识别一个截图在当前画面中的位置,但是它并不能识别出截图中具体包含了什么文字. 而在自动化测试的过程 ...
最新文章
- java 同步包_Java并发程序设计(四)JDK并发包之同步控制
- 基于Docker + Consul + Nginx + Consul-template的服务负载均衡实现
- 机柜服务器选择学问大!
- 自定义Dictionary支持线程安全
- 重写0-1背包问题的回溯法,使算法能输出最优解
- 在Spring MVC应用程序中使用Bean Validation 1.1获得更好的错误消息
- 【转】2.3SharePoint服务器端对象模型 之 访问网站和列表数据(Part 3)
- CCIE-LAB-第八篇-OSPF前缀压制+MTU+路由汇总
- 5.4php-fpm配置,CentOS5.4下配置Nginx0.8.33+PHP5.3+PHP-fpm+MySQL5.5
- React-Native 之 TabBarIOS
- LeetCode刷题——209. 长度最小的子数组
- Yii 2.0.3 Advanced版控制器不能包含大写字母的Bug
- cuda10安装_Mmdetection的安装和使用
- RQNOJ:PID4 数列
- 深耕一线14年,见证云计算风起云涌
- 重置海康威视DS-2TD2617B-6/PA测温摄像头
- LTE学习理解系列——TDD LTE信源指定时隙配比设置
- 如何把二维数组传参给函数
- JPEG系列二 JPEG文件中的EXIF(上)
- java入口函数_Java 函数入口
热门文章
- 凯利公式的原理推导和应用方向
- audio标签 FileReader blob转base64 base64转blob 语音
- CSS3新增属性——过渡和动画(2D属性,3D动画)
- 防伪系统是怎么实现防伪的呢
- Forbid consumer 10.100.8.14 access service com.alibaba.dubbo.monitor.MonitorService解决办法
- ERP之系统上线后参与运维
- python学生信息录入_使用python实现一个简单的学生信息管理系统
- (3)单片机演奏我和我的祖国
- KUKA机器人通过EthernetKRL控制
- rizomuv缩放排布_Unfold 3D/RizomUV从入门到放弃(一)