【发布时间】:2019-12-14 03:11:09
【问题描述】:
我在jupyter notebook中试了这段代码,出现了这个错误。
Error : [WinError 267] The directory name is invalid: 'plantdisease/PlantVillage/Pepper__bell___Bacterial_spot/0022d6b7-d47c-4ee2-ae9a-392a53f48647___JR_B.Spot 8964.JPG/'
我在 anaconda 环境中使用 python 3.6,我尝试运行此代码,但它显示错误。我无法弄清楚问题是什么。文件位置实际上存在于给定位置,但仍然显示无效。
image_list, label_list = [], []
try:
print("[INFO] Loading images ...")
root_dir = listdir(directory_root)
for directory in root_dir :
# remove .DS_Store from list
if directory == ".DS_Store" :
root_dir.remove(directory)
for plant_folder in root_dir :
plant_disease_folder_list = listdir(f"{directory_root}/{plant_folder}")
for disease_folder in plant_disease_folder_list :
# remove .DS_Store from list
if disease_folder == ".DS_Store" :
plant_disease_folder_list.remove(disease_folder)
for plant_disease_folder in plant_disease_folder_list:
print(f"[INFO] Processing {plant_disease_folder} ...")
plant_disease_image_list = listdir(f"{directory_root}/{plant_folder}/{plant_disease_folder}/")
for single_plant_disease_image in plant_disease_image_list :
if single_plant_disease_image == ".DS_Store" :
plant_disease_image_list.remove(single_plant_disease_image)
for image in plant_disease_image_list[:200]:
image_directory = f"{directory_root}/{plant_folder}/{plant_disease_folder}/{image}"
if image_directory.endswith(".jpg") == True or image_directory.endswith(".JPG") == True:
image_list.append(convert_image_to_array(image_directory))
label_list.append(plant_disease_folder)
print("[INFO] Image loading completed")
except Exception as e:
print(f"Error : {e}")
[已解决]问题是在加载根目录时确保你的根目录已经加载,如果你的根目录是plantDiseases的话,保持相似,儿子不要深入目录。
【问题讨论】:
-
请不要在标题中加上“已解决”。相反,发布答案(是的,您可以回答自己的问题),然后单击复选标记接受它,这基本上将问题标记为已解决。
-
顺便说一句,我只浏览了代码,但似乎捕获异常然后打印它会使错误更难诊断,因为您丢失了回溯。
-
我同意@wjandrea,不要为了打印它们而捕获异常。
标签: python artificial-intelligence