for file in tqdm(glob.glob("MID/*/*.mid")): try: press_time_dict, duration_keys_inst = convert_midi(file) if press_time_dict: midi_list.append(press_time_dict) duration_keys = duration_keys.union(duration_keys_inst) except Exception as e:
时间: 2024-03-30 11:34:27 浏览: 52
这段代码的作用是遍历指定目录下所有的`.mid`文件,对每个文件调用`convert_midi`函数进行转换,并将转换后得到的结果存入`midi_list`中。同时,将`duration_keys_inst`集合与`duration_keys`集合进行并集操作,以确保`duration_keys`集合中包含所有出现过的时长值。如果转换结果`press_time_dict`不为空,则将其添加到`midi_list`中。如果转换过程中发生异常,则忽略该文件并继续处理下一个文件。
相关问题
midi_list = [] duration_keys = {'0'} for file in tqdm(glob.glob("MID/*/*.mid")): try: press_time_dict, duration_keys_inst = convert_midi(file) if press_time_dict: midi_list.append(press_time_dict) duration_keys = duration_keys.union(duration_keys_inst) except Exception as e: pass
这段代码使用 `glob` 模块和文件路径模式 `MID/*/*.mid` 来获取一个包含多个 MIDI 文件路径的列表。然后,代码使用 `tqdm` 模块来显示一个进度条,在处理所有 MIDI 文件时迭代该列表。对于每个 MIDI 文件,代码尝试使用 `convert_midi` 函数将其转换为一个按时间排序的字典,其中每个时间戳都包含一个按键列表,每个按键列表都包含按键名称和持续时间。如果成功转换,则将该字典添加到 `midi_list` 列表中,并将该文件中出现的所有持续时间添加到 `duration_keys` 集合中。如果转换失败,则代码将跳过该文件,并继续处理下一个 MIDI 文件。最后,代码返回 `midi_list` 列表和 `duration_keys` 集合。
for pic_path in glob.glob('./test_data/品牌一/*/*/*.jpg') + glob.glob('./test_data/品牌二/*/*/*.jpg') + glob.glob( './test_data/品牌三/*/*/*.jpg'): print(pic_path)
这段代码主要是用于遍历指定文件夹下的所有符合条件的图像文件,并输出每个文件的路径。
具体来说,glob.glob() 函数可以用于获取指定文件夹下符合条件的所有文件,其语法格式为:
```python
glob.glob(pathname, *, recursive=False)
```
其中,pathname 表示指定的文件路径或者匹配模式,* 表示可选的参数,recursive 表示是否递归搜索子文件夹。在这里,我们指定了三个文件夹(品牌一、品牌二、品牌三),并使用匹配模式 `/*/*/*.jpg` 匹配所有子文件夹中后缀为 .jpg 的图像文件。
使用 glob.glob() 函数获取到所有符合条件的图像文件路径后,使用 for 循环遍历每个文件,并输出其路径,以便进行后续的处理。
这段代码的作用是获取指定文件夹下符合条件的所有图像文件路径,并输出每个文件的路径,以便进行后续的处理。
阅读全文