如何用Python只读取一个目录中的wav文件?

2 人关注
from scipy.io.wavfile import read
files = [f for f in os.listdir('.') if os.path.isfile(f)]
print files
for i in range(0,1):
w = read(files[i])
print w

我需要从python工作目录中只读取.wav文件。并将每个.wav文件存储为一个numpy数组。这是我的代码。但是在这段代码中,所有的文件都被读取。我只读取目录中的wav文件?这怎么可能呢?

python
audio
numpy
wav
santh
santh
发布于 2013-09-19
2 个回答
Viktor Kerkez
Viktor Kerkez
发布于 2013-09-19
已采纳
0 人赞同

使用 glob 模块并向它传递一个模式(如 *.wav 或任何文件的名称)。它将返回一个符合标准或模式的文件列表。

import glob
from scipy.io.wavfile import read
wavs = []
for filename in glob.glob('*.wav'):
    print(filename)
    wavs.append(read(filename))