相关文章推荐
乐观的竹笋  ·  如何快速上手MuJoCo ...·  2 月前    · 
着急的跑步鞋  ·  Python ...·  1 月前    · 
年轻有为的海龟  ·  使用Python ...·  1 月前    · 
幸福的墨镜  ·  macbook python ...·  1 月前    · 
微笑的红烧肉  ·  python redis ...·  1 年前    · 
深情的杯子  ·  colab ...·  1 年前    · 

如何用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))