Python 索引器错误:在“labels+=[i.split('/')[-2]]中列出超出范围的索引
我不熟悉TensorFlow和python。我正在尝试在中使用Keras运行和学习语音识别,我对下面这部分代码有问题,无法调试错误。 我真的需要你帮助我。 多谢各位Python 索引器错误:在“labels+=[i.split('/')[-2]]中列出超出范围的索引,python,tensorflow,keras,speech-recognition,Python,Tensorflow,Keras,Speech Recognition,我不熟悉TensorFlow和python。我正在尝试在中使用Keras运行和学习语音识别,我对下面这部分代码有问题,无法调试错误。 我真的需要你帮助我。 多谢各位 labels = [] for i in glob('C:\\Users\\SAHAR\\conda_code\\tamrin_deep_speech\\train\\audio\\*\\*.wav'): print("a") labels += [i.split('/')[-2]] pr
labels = []
for i in glob('C:\\Users\\SAHAR\\conda_code\\tamrin_deep_speech\\train\\audio\\*\\*.wav'):
print("a")
labels += [i.split('/')[-2]]
print("b")
labels = np.unique(np.array(labels), return_counts=True)
d = {}
for i in range(len(labels[0])):
d[labels[0][i]] = labels[1][i]
print(d)
在windows上,路径分隔符是“\”而不是“/”。 尝试使用:
labels += [i.split('\\')[-2]]
在“/”上拆分字符串时。只需检查拆分后的列表是否包含元素。在您的情况下,拆分后的某些列表看起来是空的这可能是因为.split调用在一个元素的情况下返回了大小为1的数组,因此使[-2]索引超出范围。请注意,对于路径操作,标准库os.path和pathlib通常优于手动字符串操作。在这种情况下,您使用了错误的路径分隔符。/是UNIX的分隔符,\n用于Windows。谢谢您的帮助。它起作用了。
labels += [i.split('\\')[-2]]