You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将多目录下的wav文件按规则分组存储为目标列表?

实现方案

以下代码可以直接实现你需要的分组效果:

import os
from collections import defaultdict

target_list = []

for root, _, files in os.walk("./dataset/"):
    # 跳过dataset根目录,只处理子文件夹
    if root == "./dataset/":
        continue
    # 按文件名前缀分组
    file_groups = defaultdict(list)
    for filename in files:
        prefix = filename.split("_")[0]
        file_groups[prefix].append(filename)
    # 按前缀顺序将分组加入结果列表
    for prefix in sorted(file_groups.keys()):
        target_list.append(file_groups[prefix])

print(target_list)

逻辑说明

  • os.walk遍历目录时,第一层返回的是根目录dataset本身,没有需要处理的文件,直接跳过
  • 利用defaultdict做分组容器,以文件名下划线前的a1、a2作为分组标识,将同前缀的两个音频文件放在同一子列表中
  • 按前缀排序后把所有分组汇总,最终输出的target_list就和你要求的格式一致

调整提示

如果你后续需要调整分组规则,只需要修改prefix = filename.split("_")[0]这一行的前缀提取逻辑即可适配。

内容的提问来源于stack exchange,提问作者Aniiya0978

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 22:36:03