Я хочу зациклить пакет файлов, чтобы получить 32 изображения каждого подкаталога за раз (я не могу загрузить все изображения из-за памяти), например, загрузить img 1-32 каждого каталога, использовать их, а затем загрузитьimg 33-64, затем 65-96 и т. д.
Мой каталог:
Rootdir
- dir1
- img 1
- img 2
- img...
- dir2
- img 5000001
- img 5000002
- img...
- dir3
- img 10000001
- img 10000002
- img...
Поэтому мне нужно загрузить img1,2, .., 32, 5000001, ... 5000032, 1000001, ... 10000032 в первом цикле, затем img33,34, .., 64, 5000033, ... 5000064, 1000033, ... 10000064 во втором цикле
Есть ли способ сделать это правильно?
Я пытаюсь использовать os.walk, и это позволяет мне зацикливаться на моем каталоге, но я не вижу, как я могу адаптировать этот цикл к моим необходимым 32 пакетам?
for dirName, subdirList, fileList in os.walk(rootdir):
print('Found directory: %s' % dirName)
for fname in sorted(fileList):
img_path = os.path.join(dirName, fname)
try:
img = load_img(img_path, target_size=None)
imgs.append(img)
except Exception as e:
print(str(e), fname, i)
#do something on imgs
РЕДАКТИРОВАТЬ
все ваши комментарии дают мне такие вещи:
dir1 / img1.jpg в dir1 / img32.jpg, затем в dir1 / img33.jpg в dir1 / img64.jpgзатем ...
, затем dir2 / img1.jpg в dir1 / img32.jpg, затем в dir2 / img33.jpg в dir2 / img64.jpg, затем ...
, затем в dir3 / img1.jpgв dir3 / img32.jpg, затем в dir3 / img33.jpg в dir3 / img64.jpg :(
Я пытаюсь достичь:
Файлы dir1 от 1 до 32 + файлы от dir2 от 1 до 32 + файлы от dir3 от 1 до 32, а затем
Файлы dir1 от 33 до 64 + файлы dir2 от 33 до 64 + файлы от dir3 от 33 до 64 в том же цикле