对于我的项目,我有一个包含图像的数据集,其中包含文件夹内的文件夹。这些文件夹标记为“ 0”或“ 1”。我需要定位成功的标签为0的目录。现在,我需要输入此目录,并将此“ 0”目录中的所有文件作为目标,这就是我失败的原因。我的代码如下:
rootdir = "Data\\breast-histopathology-images\\Test"
regexfolder = re.compile('[0]')
for root, dirs, files in os.walk(rootdir):
dirs = str(dirs)
files = str(files)
for directory in dirs:
if regexfolder.match(directory):
print(directory)
for file in directory:
print(file)
我的代码打印4次0,而“测试”目录中只有2个文件夹。我该如何定位并打印出该0文件夹中的图像?
我的文件夹如下:
Folderstructure 预先感谢!
答案 0 :(得分:0)
您的问题在这里:
for file in directory:
print(file)
您正在遍历目录中的字符(即一个字符-'0'),而不是包含的文件。 Os.walk应该访问您的所有子目录,因此只需执行以下操作:
for root, dirs, files in os.walk(rootdir):
if os.path.basename(root) == '0':
print('\n'.join(files))