所以,我有一个包含子文件夹的文件夹,每个文件夹包含40个图像。
我使用以下代码迭代每个子文件夹中的每个图像:
for (dirname, dirnames, filenames) in os.walk('C:\.....')
for filename in filenames:
图像的标题如下:
第一个文件夹: IM-0239-0001.dcm, IM-0239-0002.dcm, IM-0239-0003.dcm ........... IM-0239-0040.dcm
第二个文件夹 IM-0248-0001.dcm, IM-0248-0002.dcm, IM-0248-0003.dcm ..... IM-0248-0040.dcm
我想要做的是对子文件夹中的40个图像中的每个图像执行操作,获取它们的平均值,然后将该值与子文件夹标识符(例如“0239”)一起导出到字典之外的字典中。 for循环。
我在移动到下一个子文件夹之前传递平均值时遇到问题。我理想的解决方案,如果存在4个子文件夹,则将4个子文件夹UI及其相应的平均值传递给字典。
我尝试使用基于.split的函数(下面)与上面循环中的if语句结合来比较部分[1]以检测子文件夹的结尾:
parts = image_name.split('-')
return '-'.join((parts[1], parts[0], parts[2]))
但我正在寻找一种更加pythonic,时髦和更快的方法。
非常感谢。
答案 0 :(得分:1)
如果我理解正确,您有一个图像目录,其中包含一个包含图像的子目录。您希望处理按包含子目录分组的图像。
您可以先阅读结构:
#! /usr/bin/python3
import os
tobeprocessed = {}
for curdir, subdirs, files in os.walk ('/home/lorenzo/stackoverflow/images'):
if not files: continue
tobeprocessed [curdir] = files
print (tobeprocessed)
现在你有一个字典,其键是文件夹,其值是包含文件,你可以根据需要处理它们。