os报错:NotADirectoryError
原因分析
报错代码如下:
img_names = os.listdir(label_dir)
for img_name in img_names:
img_path = os.path.join(label_dir, img_name)
这一报错在mac中经常出现,其原因是.DS_Store的存在是的label_dir下并不全是directory,而在实际情况下难以把.DS_Store这一文件根除。
问题解决
通过添加判断语句的方式,当其遇到.DS_Store自动忽略掉即可,即在os.listdir
前检查对象的类型,解决代码如下:
if os.path.isdir(label_dir):
img_names = os.listdir(label_dir)
for img_name in img_names:
img_path = os.path.join(label_dir, img_name)