赞
踩
一键打包下载微博中一贴的原图、视频、livephoto,收藏时本地自动备份
这段代码实现了在"微博图片"文件夹中查找zip文件,然后将其中的photos文件夹下的图片提取到名为"all_photos"的文件夹中,并删除解压过程中产生的多余文件夹。
import os # 导入os模块,用于处理文件和目录操作。 import zipfile # 导入zipfile模块,用于处理ZIP压缩文件。 import shutil # 导入shutil模块,用于文件和文件夹的复制、移动等高级操作。 # 创建一个名为"all_photos"的新文件夹,用于存放所有提取的图片。 if not os.path.exists("all_photos"): os.makedirs("all_photos") # 遍历名为"微博图片"的文件夹中的所有zip文件。 for file in os.listdir("微博图片"): if file.endswith(".zip"): # 检查文件是否为zip文件。 # 打开zip文件 with zipfile.ZipFile(os.path.join("微博图片", file), 'r') as zip_ref: # 获取zip文件内的所有文件和文件夹 file_list = zip_ref.namelist() # 遍历文件列表,找到photos文件夹中的图片 for item in file_list: # 检查文件是否为图片(jpg, jpeg, png, gif),并确认它在photos文件夹中。 if item.endswith((".jpg", ".jpeg", ".png", ".gif")) and "photos" in item: # 解压图片到all_photos文件夹中 zip_ref.extract(item, "all_photos") # 修改解压后的图片路径,将其从原始文件夹结构移动到all_photos文件夹下 old_path = os.path.join("all_photos", item) new_path = os.path.join("all_photos", os.path.basename(item)) shutil.move(old_path, new_path) # 删除由于解压产生的多余文件夹 for item in os.listdir("all_photos"): item_path = os.path.join("all_photos", item) if os.path.isdir(item_path): # 检查项目是否为文件夹。 shutil.rmtree(item_path) # 使用shutil.rmtree()删除文件夹。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。