如何用Python删除文件夹中名称近似的重复wav音频文件
解决方案
匹配规则设置
你原代码的匹配规则缺少前缀通配符,只能匹配文件名以.WAV开头的文件,不符合需求。
你要的「任意文件名+.WAV」格式匹配可以直接用glob的通配符*实现,*可匹配任意长度的非路径分隔符字符:
- 如果你要匹配后缀为.WAV的文件(如
xxx.WAV),规则写为"你的文件夹路径/*.WAV" - 如果你要匹配示例中提到的
xxx.WAV.wav格式的重复文件,规则写为"你的文件夹路径/*.WAV.wav"
修正后代码
先运行预览代码确认待删除文件列表,避免误删:
import os, glob # 替换为你的音频文件夹实际路径 target_path = "thepath/" # 按需调整匹配规则:匹配xxx.WAV.wav就用*.WAV.wav,匹配xxx.WAV就用*.WAV rule = os.path.join(target_path, "*.WAV.wav") for file in glob.glob(rule): print("待删除:", file)
确认列表无误后,再替换为删除逻辑:
import os, glob target_path = "thepath/" rule = os.path.join(target_path, "*.WAV.wav") for file in glob.glob(rule): os.remove(file)
补充注意事项
- Windows系统对文件名大小写不敏感,若你是Windows环境,可在循环内增加后缀判断避免误删:
if file.endswith(".WAV.wav"):再执行删除操作 - 如果需要扫描子文件夹内的对应文件,可开启glob的递归扫描,规则改为
os.path.join(target_path, "**/*.WAV.wav"),同时调用glob时加参数recursive=True:glob.glob(rule, recursive=True)
内容的提问来源于stack exchange,提问作者jakestackexchange
相关产品推荐
相关产品推荐

