【发布时间】:2021-01-28 21:25:08
【问题描述】:
我正在处理图像数据集。当我写 for 循环时,我发现以下错误。那是
AttributeError: 'list' object has no attribute 'iterdi'
排队
for class_folder_path in DATA_FOLDER.iterdir():
我的代码:
max_print_subfolders = 4
max_print_files_per_folder = 3
subfolder_counter = 0
for class_folder_path in DATA_FOLDER.iterdir():
subfolder_counter += 1
if subfolder_counter > max_print_subfolders:
print(str('/content/DATA_FOLDER') + "more subfolders in this folder...")
break
file_counter = 0
for image_path in class_folder_path.glob("*.png"):
file_counter += 1
if file_counter > max_print_files_per_folder:
print(str(class_folder_path / '...') + "more files in this folder...\n")
break
print(image_path)
错误:AttributeError: 'list' object has no attribute 'iterdi'
【问题讨论】:
-
你确定错误不是
object has no attribute 'iterdir'吗?或者您在实际代码中使用了iterdi而不是iterdir? -
DATA_FOLDER未在您的示例中定义。 -
DATA_FOLDER显然是list,而不是Path对象。仔细检查您的数据。 -
是的,它是 iterdir @scothunter
-
listdir返回一个列表,而列表没有那个方法。你是说for class_folder_path in DATA_FOLDER:吗?
标签: python python-3.x list loops for-loop