统计一个文件夹子文件夹下所有wav文件总时长
时间: 2023-09-12 10:01:31 浏览: 245
C# 遍历文件夹子目录下所有图片及遍历文件夹下的文件
要统计一个文件夹及其子文件夹下所有wav文件的总时长,可以使用以下步骤:
首先,使用递归方法遍历该文件夹以及其子文件夹下的所有文件和文件夹。
对于每个文件夹,重复上述步骤。
对于每个文件,检查文件的扩展名是否为.wav。如果是,使用音频处理库(如Librosa)读取文件的时长。
将每个.wav文件的时长累加到一个变量中。
最后,得到的结果就是该文件夹及其子文件夹下所有.wav文件的总时长。
以下是一个示例代码:
```python
import os
import librosa
def get_wav_duration(folder_path):
total_duration = 0
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith(".wav"):
file_path = os.path.join(root, file)
try:
audio_info = librosa.core.audio.get_duration(filename=file_path)
total_duration += audio_info
except Exception as e:
print(f"Failed to process file: {file_path}. Error: {str(e)}")
return total_duration
folder_path = "your_folder_path"
total_duration = get_wav_duration(folder_path)
print("Total duration of all WAV files:", total_duration)
```
请将"your_folder_path" 替换为实际的文件夹路径。这段代码将使用Librosa库来获取.wav文件的时长,并将结果打印出来。如果处理文件出现了错误,它也会显示错误信息。
阅读全文