Python如何实现跨文件夹移动图片且忽略文件扩展名大小写
问题原因
原代码是精确匹配扩展名的大小写,所以后缀为.JPG/.GIF/.PNG这类大写格式的图片无法被识别命中。
解决方法
将提取到的文件扩展名统一转为小写后再做匹配,即可同时适配大小写不同的扩展名格式。
修改后完整代码
import shutil import os source = "C:/Users/Tonello/Desktop/" dest = "C:/Users/Tonello/Desktop/Pictures/" # 自动创建目标文件夹,避免路径不存在时报错 os.makedirs(dest, exist_ok=True) files = os.listdir(source) for f in files: # 扩展名转为小写后再匹配 ext = os.path.splitext(f)[1].lower() if ext in (".jpg", ".gif", ".png"): # 用os.path.join拼接路径,适配不同系统的路径分隔符规则 shutil.move(os.path.join(source, f), dest)
其他说明
如果后续需要新增支持的图片格式,直接在扩展名元组中添加对应小写后缀即可,例如添加.jpeg、.webp就能匹配对应格式的图片。
内容的提问来源于stack exchange,提问作者spike32
相关产品推荐
相关产品推荐

