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文件?怎么可能?
答案 0 :(得分:3)
使用glob
模块并传递一个模式(如*.wav
或任何文件命名)。它将返回符合条件或模式的文件列表。
import glob
from scipy.io.wavfile import read
wavs = []
for filename in glob.glob('*.wav'):
print(filename)
wavs.append(read(filename))
答案 1 :(得分:2)
如果你不想使用glob
,那么类似的东西也会起作用:
files = [f for f in os.listdir('.') if os.path.isfile(f) and f.endswith(".wav")]