[英]Reading wav files in a folder with Python
这是我的代码:
for filename in glob.glob('*.wav') :
for i in range(10) :
sr[i],x[i]=scipy.io.wavfile.read(filename)
我想读取文件夹中的.wav文件,并将其值保存在x上,并将其采样率保存在sr上。 但是我的代码给出了错误:“列表分配索引超出范围”。 我该如何解决? 我在ubuntu上使用python2.7。
我可能是错的,但我猜这将是台词:
sr[i],x[i] = scipy.io.wavfile.read(filename)
我认为您无法像这样列出结果,因为我认为它们不是列表。
试试这个代替:
sr, x = scipy.io.wavfile.read(filename)
如果需要sr
和x
值的列表,请在读取文件之前尝试定义列表。 将结果分别追加到每个列表中。 可能有一种聪明的编写方式,但是为了清楚起见,我将这样做:
sr = []
x = []
for filename in glob.glob('*.wav'):
for i in range(10):
sr_value, x_value = scipy.io.wavfile.read(filename)
sr.append(sr_value)
x.append(x_value)
我也可能建议将您的sr
和x
(尤其是x
)变量重命名为更有意义的名称。 这可能会使您的代码更易于阅读,并且可以在以后省去一些命名冲突。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.