下面给出python的几个自定义函数:def pre_data(): root_path = '/data1/enhance/voice_bank/train' clean_paths = glob(f'{root_path}/*_clean.wav') train_data = [] for clean_path in clean_paths: file_name = os.path.splitext(os.path.split(clean_path)[1])[0] noise_file = f'{root_path}/{file_name[:-6]}_noise.wav' if os.path.exists(noise_file): train_data.append([clean_path, noise_file]) return train_data def chunks(arr_list, num): n = int(math.ceil(len(arr_list) / float(num))) return [arr_list[i:i + n] for i in range(0, len(arr_list), n)] def load_frame(path, frame_name='frame'): frame_names = {} for frame_name in glob(f'{path}/{frame_name}*'): name = os.path.split(frame_name)[1] frame_names[int(name.split('_')[-1])] = frame_name if len(sorted(frame_names)) == 0: return None, None else: frame_index = sorted(frame_names)[-1] return frame_names[frame_index], frame_index def delete_frame(path, frame_name='frame'): frame_names = {} for frame_name in glob(f'{path}/{frame_name}*'): name = os.path.split(frame_name)[1] frame_names[int(name.split('_')[-1])] = frame_name for delete_key in sorted(frame_names)[:-5]: os.remove(frame_names[delete_key])。请给出详细解释
时间: 2023-12-06 18:39:54 浏览: 134
Python学习笔记之自定义函数用法详解
5星 · 资源好评率100%
1. pre_data() 函数用于预处理训练数据,输入是音频文件存储路径 root_path,使用 glob 函数获取所有干净音频文件路径 clean_paths,然后遍历每个路径,获取对应的噪声音频文件路径 noise_file,并将二者组成一个列表 [clean_path, noise_file],最后返回包含所有训练数据的列表 train_data。
2. chunks(arr_list, num) 函数用于将一个列表 arr_list 分割成 num 份。首先计算每份的长度 n,然后通过列表切片将 arr_list 分割成 num 份,最后返回一个包含所有分割后列表的列表。
3. load_frame(path, frame_name='frame') 函数用于加载一个目录下最新的一个 frame 文件,输入是目录路径 path 和 frame 文件名 frame_name,函数使用 glob 函数获取所有 frame 文件路径 frame_names,并将它们存储在一个字典 frame_names 中,字典的键是 frame 文件名中的数字编号。然后通过 sorted 函数将 frame_names 的键排序,取最后一个键作为最新的 frame 文件,返回该文件路径和编号。
4. delete_frame(path, frame_name='frame') 函数用于删除一个目录下除最新的 5 个 frame 文件之外的所有 frame 文件,输入是目录路径 path 和 frame 文件名 frame_name。函数使用 glob 函数获取所有 frame 文件路径 frame_names,并将它们存储在一个字典 frame_names 中,字典的键是 frame 文件名中的数字编号。然后通过 sorted 函数将 frame_names 的键排序,取除最新的 5 个键外的所有键对应的 frame 文件路径,使用 os.remove 函数删除这些文件。
阅读全文