python读取当前文件夹下所有.wav文件
时间: 2023-11-02 20:10:38 浏览: 296
可以使用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一个文件夹只读取其中的wav文件,不读取txt文件
你可以使用Python的`os`和`glob`模块来遍历文件夹,仅限读取`.wav`文件而忽略`.txt`文件。以下是一个简单的例子:
```python
import os
import glob
# 定义要搜索的文件夹路径
folder_path = 'your_folder_path'
# 使用glob.glob()函数匹配特定类型的文件
# '*.wav' 表示查找所有以.wav结尾的文件
wav_files = glob.glob(folder_path + '/*.wav')
for file in wav_files:
# 只读取wav文件,这里假设你需要打开每个文件并做些处理
with open(file, 'rb') as f:
# 执行你的读取操作,例如读取音频数据
audio_data = f.read()
# 关闭文件后继续下一个
f.close()
```
这段代码会跳过所有的.txt文件,只对`.wav`文件执行读取操作。如果你只是想列出而不实际读取,可以去掉`with open()`部分。
注意替换`your_folder_path`为实际的文件夹路径。如果你想要进一步过滤文本文件,你可以在找到文件后添加条件判断,比如使用`os.path.splitext()`检查文件扩展名。
如何用python读取整个文件夹的音频文件并将此文件的所有音频提取出MFCC特征
要读取整个文件夹的音频文件并将其所有音频提取出MFCC特征,可以使用Python中的librosa库。以下是一个示例代码:
```python
import os
import librosa
import numpy as np
# 设置文件夹路径
folder_path = "path/to/folder"
# 定义函数以提取MFCC特征
def extract_mfcc(file_path):
signal, sr = librosa.load(file_path, sr=22050) # 加载音频文件
mfccs = librosa.feature.mfcc(signal, sr=sr, n_mfcc=13) # 提取MFCC特征
return mfccs
# 遍历文件夹中的所有音频文件
mfcc_features = []
for filename in os.listdir(folder_path):
if filename.endswith(".wav"):
file_path = os.path.join(folder_path, filename)
mfccs = extract_mfcc(file_path)
mfcc_features.append(mfccs)
# 将所有MFCC特征转换为NumPy数组
mfcc_features = np.asarray(mfcc_features)
print("MFCC features shape:", mfcc_features.shape)
```
这段代码首先定义了一个函数`extract_mfcc`,该函数接受一个文件路径作为输入,并使用librosa库加载音频文件并提取MFCC特征。然后,代码遍历文件夹中的所有音频文件,并将每个音频文件的MFCC特征添加到一个列表中。最后,代码将所有MFCC特征转换为NumPy数组,并输出其形状。
阅读全文