Python基础小程序_06 用python玩转微信

本系列内容不定期更新我在自学python的过程中收集的小程序,希望能给到刚刚接触python的小伙伴们一些帮助,不积跬步无以至千里,让我们开始吧。


06 用python玩转微信


问题描述:

再过一个多月,就要过年了,又到了我们要发祝福语的时候了!单独发太累,群发又不够意思,那能怎么办呢?不如,我们用python来试一试?!我们可以创建一个模板,把名字或者其他需要单独发送的消息保存在一个表格里。接着,我们读取到表格,并通过python的微信模块就可以顺利的把消息发出去啦,快来试试看吧。


主要思路:

1、导入csv文件
2、数据的预处理(把数据存到一个列表里)
3、创建一个模板(format)
4、用 wxpy 模块 发送消息


一些小细节:

1.csv模块

f = open(“04微信批量发送定制消息.csv”, “r”)
reader = csv.DictReader(f)
# 用csv模块读取文件,返回字典类型 {“姓名”:“微信ID(备注)”, “内容”:“你好啊”}

2.占位符(模板)

d = “{n}-{t}”
d.format(n=msg[“姓名”], t=msg[“内容”]

3.一行代码

[i for i in range(5)]
# [0, 1, 2, 3, 4]

4.wxpy 模块

bot = wxpy.Bot()
f = bot.friends().search(friend_name)
很有趣,想了解更多,可移步下方链接!
[link]https://wxpy.readthedocs.io/zh/latest/


实现代码:

import csv
import wxpy
import time

def read_csv():
    f = open("04微信批量发送定制消息.csv", "r")
    reader = csv.DictReader(f)
    # 用csv模块读取文件,返回字典类型 {"姓名":"微信ID(备注)", "内容":"你好啊"}
    return [info for info in reader]
    # [{字典1}, {字典2}, 、、、]


def make_msg(raw_msg):
    d = "{n}-{t}"
    return [d.format(n=msg["姓名"], t=msg["内容"])
            for msg in raw_msg]
    # [d1,d2,、、、]


def send_msg(msg):
    bot = wxpy.Bot()
    for info in msg:
        fri_name = info.split("-")[0]
        f = bot.friends().search(fri_name)
        if len(f) == 1:
            f[0].send(info)
        else:
            print("请检查姓名!")
    time.sleep(3)

# 测试部分
csv_list = read_csv()
msg_list = make_msg(csv_list)
print(msg_list)
send_msg(msg_list)

运行结果:

确实成功了,涉及隐私,这里就不展示了。


再会!

你可能感兴趣的:(Python基础小程序,python微信模块,python占位符)