for i in files:
if files[i] == images[i] :
output_dir =labels[i]
output_dir_path = output_dir+'.txt'
if not os.path.exists("./output_dir_path"):
os.makedirs(output_dir_path)
print("ok")
报错如下
if files[i] == images[i] :
TypeError: list indices must be integers or slices, not str
应该是for i in range(len(files))
是i的问题,列表的索引只能是整数或者切片,但是你的i in files 是str,请检查你的i到底是什么
如果files="abcd",那么你每次循环得到的i的值是 'a','b','c','d',而不是1,2,3,4,懂了吧
所以应该改为 for i in range(len(files)) 就是楼上说的
应该是 0,1,2,3.。。。。。说错了
for。。in。。 适用于字符串方面的遍历,如for i in files得到的i一般是str,for i in range num则可得到小于num的数字,而你的代码里面的序列的下标不能是str只能是数字,所以报错
for i in range(len(files))
遇到这种问题你可以自己在for下面print一下看i是什么