Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >python wxpy将微信群聊中的图片保存到本地

python wxpy将微信群聊中的图片保存到本地

作者头像
wo.
发布于 2021-06-15 07:10:01
发布于 2021-06-15 07:10:01
5.6K40
代码可运行
举报
文章被收录于专栏:了不得的专栏了不得的专栏
运行总次数:0
代码可运行

需求如下

班级微信群需要每天上报由每个家长发送的健康码, 现在需要将微信群中家长发送的图片(健康码) 保存为孩子姓名(微信群里 家长群备注去掉后两位,如马云爸爸,去掉后两位,保存为马云1.jpg、马云2.jpg), 然后将所有图片保存到以当天日期命名的文件夹。

可以调用wxpy模块

实现

wx.py

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from wxpy import *
import time,os

# 微信机器人,缓存登录信息
# 如果你需要部署在服务器中,则在下面加入一个入参console_qr=True
# console_qr表示在控制台打出二维码,部署到服务器时需要加上
bot = Bot(cache_path=True)

# 当前日期文件夹
path = time.strftime("%Y%m%d", time.localtime())
path = f'D:\\{path}\\' 
if not os.path.isdir(path):
    os.makedirs(path)

# 监控群聊
listen_groups = '群'  
bot.listen_groups = bot.groups().search(listen_groups)
if len(bot.listen_groups) < 1:
    bot.listen_groups = []
    print(f'未找到群名包含「{listen_groups}」的群聊!')
else:
    print(f'找到群名包含「{listen_groups}」的群聊{str(len(bot.listen_groups))}个!')

def pfn(fn,num=1):
    if not os.path.isfile(fn):
        return fn
    else:
        fnlist = fn.split('.')
        return pfn(fn=f'{"".join(fnlist[0:-1])}{str(num)}.{fnlist[-1]}',num=num+1)
"""群功能"""
@bot.register(chats=Group)
def group_msg(msg):
    """接收群消息"""

    # 监控群聊中的图片
    if msg.chat in msg.bot.listen_groups and msg.type == PICTURE :
        fn = pfn(f'{path}{msg.member.name[0:-2]}.{msg.file_name.split(".")[-1]}')
        print(fn)
        msg.get_file(fn)
    else:
        pass

    return None

bot.join()

简单的测试

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
4 条评论
热度
最新
现在的PC端微信 console_qr在控制台打出二维码,扫码,已经不在适用,能否修改代码,比如: def get_wechat_pid(): pids = psutil.pids() for pid in pids: p = psutil.Process(pid) if p.name() == 'WeChat.exe': return pid return None 这样登录后,再修改后面的代码,期待您的回复
现在的PC端微信 console_qr在控制台打出二维码,扫码,已经不在适用,能否修改代码,比如: def get_wechat_pid(): pids = psutil.pids() for pid in pids: p = psutil.Process(pid) if p.name() == 'WeChat.exe': return pid return None 这样登录后,再修改后面的代码,期待您的回复
回复回复点赞举报
bot = Bot(cache_path=True)在这一行出错
bot = Bot(cache_path=True)在这一行出错
回复回复点赞举报
弹出mismatched tag : line 64 ,column 4
弹出mismatched tag : line 64 ,column 4
回复回复点赞举报
能指定时间吗?
能指定时间吗?
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
Python: 遍历文件夹内的所有文件
文章背景: 工作中,有时需要遍历工作夹内的所有文件,然后可以进一步操作文件。Python中的os.walk和os.listdir方法都可以实现遍历文件夹的功能,下面分别进行介绍。
Exploring
2022/09/20
7.3K0
Python: 遍历文件夹内的所有文件
python学习_24(目录)
os.curdir 返回当前目录 >>> os.curdir '.' os.pardir 返回当前目录的父目录 >>> os.pardir '..' #切换到上级目录 >>> os.chdir(os.pardir) >>> os.getcwd() 'E:\\' os.getcwd() 获取当前工作目录 >>> os.getcwd() 'E:\\' >>> os.chdir("个人") >>> os.getcwd() 'E:\\个人' os.chdir(path) 切换到指定工作目录 >>> os.c
py3study
2020/01/14
5850
python目录操作一
Python os 模块提供了一个统一的操作系统接口函数, 这些接口函数通常是平 台指定的,os 模块能在不同操作系统平台(如 nt 或 posix)中的特定函数间 自动切换,从而能实现跨平台操作。 python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil 模块。 引入该模块,import os
py3study
2020/01/08
9940
Python读取文件夹中的所有Excel文件名
os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
哆哆Excel
2022/10/25
6.8K0
Python读取文件夹中的所有Excel文件名
python 深度遍历文件夹
当然我们发现当传入的目录下还有子目录时,该方法只能返回子目录名,而无法深度遍历子目录中的所有文件。
雷子
2023/12/13
4210
python 深度遍历文件夹
python3 删除以某个后缀结尾的文件
有的时候在用百度云盘下载文件的时候会有一些以结尾的文件,这些文件在下载完必以后没用了有没有自动删除的,这样的文件很多,不能挨着去删除,所以就会写一些脚本来删除,
py3study
2020/01/03
3.4K0
使用python扫描文件夹获取所有文件路径
os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
JQ实验室
2022/01/11
4.4K0
Python 3 学习笔记:目录&文件处
相对路径依赖于当前工作目录(即当前文件所在的目录),可以使用如下函数获取当前工作目录,
py3study
2020/01/03
7450
Python 3 学习笔记:目录&文件处
python 文件管理神器os.walk-文件指定日期整理程序
1.基本介绍 os.walk(): 游走/漫步函数 返回的是一个迭代器 扫描某个指定目录下所包含的子目录和文件 2.基本使用 假设文件夹data有如下的目录结构(cmd 命令:tree /f) 2.1
诡途
2020/10/16
5430
python 文件管理神器os.walk-文件指定日期整理程序
os.walk()
os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
狼啸风云
2021/05/10
8850
Python入门之os.walk()方法
os.walk方法,主要用来遍历一个目录内各个子目录和子文件。 os.walk(top, topdown=True, onerror=None, followlinks=False) 可以得到一个三元tupple(dirpath, dirnames, filenames),  第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。 dirpath 是一个string,代表目录的路径, dirnames 是一个list,包含了dirpath下所有子目录的名字。 filenames 是一个l
Jetpropelledsnake21
2018/05/03
8600
Day1-Python基础练习课后作业
遍历”Day1-homework”目录下文件; 找到文件名包含“2020”的文件; 将文件名保存到数组result中; 按照序号、文件名分行打印输出。 注意:提交作业时要有代码执行输出结果
杨鹏伟
2021/05/20
5870
教你怎么用python操作文件
Python中有几个内置模块和方法来处理文件。这些方法被分割到例如os, os.path , shutil 和 pathlib 等等几个模块中。文章将列举Python中对文件最常用的操作和方法。
程序员小新
2022/01/11
6.5K0
python3获取目录下的文件名
在处理分类问题制作标签的时候用到了指定文件夹下的文件名获取,在这里做个小结: OS模块是python中一个常用于处理文件信息的模块,因此相关文件的处理都会用到OS模块。获取文件名常用到的函数为 os.walk((top, topdown = True, onerror = None, followlinks = False)) 具体使用方法可 参考 写的非常详细。 os.listdir * 获取指定目录下的文件夹名(不包含子目录)
py3study
2020/01/10
2.4K0
使用 Python 实现文件递归遍历的
今天有个脚本需要遍历获取某指定文件夹下面的所有文件,我记得很早前也实现过文件遍历和目录遍历的功能,于是找来看一看,嘿,不看不知道,看了吓一跳,原来之前我竟然用了这么搓的实现。
py3study
2020/01/07
2.4K0
Python文件夹与文件的操作
###Python文件夹与文件的操作 最近频繁的与文件操作打交道,这块比较弱,在百度上找到一篇比较不错的文章,这是原文的传送门 有关文件夹与文件的查找,删除等功能在os模块中实现,使用时需要导入这个模块: import os ####一、获取当前目录 s = os.getwd() s中保存的就是当前的目录(即文件夹) 下面是一个例子:将abc.py放在A文件夹,不管A放置在硬盘的哪个位置,都可以在A文件夹内生成一个新的文件夹。且文件夹的名字跟据时间自动生成: import os import time fi
xiangzhihong
2018/01/26
1.4K0
Python 自动化办公之"你还在手动操作“文件”或“文件夹”吗?"
1、“罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢? 2、利用 Python 进行多 Sheet 表合并、多工作簿合并、一表按列拆分
杰哥的IT之旅
2020/06/18
8930
Python遍历(查找)指定文件
Python遍历(查找)指定文件 使用python的os模块进行操作 def walkFile(file): for root, dirs, files in os.walk(file): # root 表示当前正在访问的文件夹路径 # dirs 表示该文件夹下的子目录名list # files 表示该文件夹下的文件list # 遍历文件 for f in files: print(os.pa
sugarbeet
2022/10/04
2.4K0
Python之文件操作大全
在日常工作或生活中,总避免不了需要操作文件或文件夹,比如希望找出电脑中所有临时文件并清除,或者找到指定文件夹内所有图片文件并进行重新命名等等,如果能通过Python脚本的方式解决,会大大提升相关操作效率,本文即总结使用Python进行常见操作相关知识点,方便用到的人随时查阅,不用再每次使用都要花费时间检索或查阅文档。本文主要使用os、shutil、pathlib三个包。
全栈程序员站长
2022/08/23
4590
python3基础:目录操作
os模块提供了统一的操作系统接口函数,python中对文件和文件夹的操作都要涉及到os和shutil模块,在使用前需要使用import引入,例如;
py3study
2020/01/09
1.3K0
相关推荐
Python: 遍历文件夹内的所有文件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验