Как перебрать несколько каталогов в Python - PullRequest
0 голосов
/ 10 ноября 2019

Как сделать так, чтобы этот код перебирал все подкаталоги CHEST_ICONS, включая каталоги, и, в конце концов, есть некоторые значки .dcm, которые я хочу преобразовать в jpg?
CHEST_ICONS включает каталог CPTAC-SAR. CPTAC-SAR включает в себя C3L-03196 и C3L-01038, каждый из которых включает еще 1 каталог, который включает в себя последние каталоги с файлами .dcm.

folder_path = "...DcmFIles\CHEST_ICONS\CPTAC-SAR\C3L-01038\10-31-2011-ABDOMEN-42992\2-92491"
images_path = os.listdir(folder_path)
for n, image in enumerate(images_path):
    do stuff

Заранее спасибо. Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 10 ноября 2019

Правильный подход будет:

import os

for root, dirs, files in os.walk( folder_path ) :
    # root is the current folder (somewhere down the tree)
    # dirs contains all subfolder names in the current folder
    # files has all file names in the current folder
    for f in files :
        print( os.path.join( root, f ) )  # ought to `.join()` to get the full name
0 голосов
/ 10 ноября 2019

Похоже, вы folder_path указывает на файл или каталог дальше, чем CHEST_ICONS. Если вы заканчиваете на CHEST_ICONS, то вы можете использовать os.listdir() рекурсивно, чтобы попасть в любые каталоги, найденные после этой точки. В зависимости от того, сколько в каталогах, хотя время выполнения может быть очень долгим ...

...