python读取当前文件夹下所有.wav文件
时间: 2023-11-02 20:10:38 浏览: 105
可以使用Python内置的os模块和glob模块来读取当前文件夹下所有.wav文件。
以下是示例代码:
```python
import os
import glob
# 获取当前工作目录
current_dir = os.getcwd()
# 获取当前工作目录下所有.wav文件
wav_files = glob.glob(current_dir + "/*.wav")
# 打印所有.wav文件路径
for file in wav_files:
print(file)
```
解释一下代码:
- `os.getcwd()`:获取当前工作目录
- `glob.glob()`:获取指定路径下所有符合条件的文件,这里使用通配符`*.wav`表示获取所有.wav文件
- 遍历所有.wav文件,打印它们的路径
注意:在运行代码前需要将当前工作目录切换到包含.wav文件的目录。
相关问题
python读取文件夹音频文件
可以使用Python的os和wave模块来读取文件夹中的音频文件。以下是一个简单的示例代码:
```python
import os
import wave
# 文件夹路径
folder_path = 'your_folder_path'
# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
# 如果是音频文件
if filename.endswith('.wav'):
# 打开音频文件
wave_file = wave.open(os.path.join(folder_path, filename), 'r')
# 获取音频文件的参数
params = wave_file.getparams()
# 读取音频数据
audio_data = wave_file.readframes(params[3])
# 关闭音频文件
wave_file.close()
# 处理音频数据,比如进行语音识别等操作
```
在上面的代码中,我们遍历了文件夹中的所有文件,如果是.wav文件,则打开文件并读取音频数据。通过wave模块的getparams()函数可以获取音频文件的参数,比如采样率、采样位数等。读取音频数据后,可以对音频数据进行处理,比如进行语音识别、声音分析等操作。
统计一个文件夹子文件夹下所有wav文件总时长
要统计一个文件夹及其子文件夹下所有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文件的时长,并将结果打印出来。如果处理文件出现了错误,它也会显示错误信息。