2012-04-03 2 views
-1

Я пытаюсь найти, как получить список папок, который содержит определенное расширение файла, и это даст мне только папку и содержит только уникальную папку. И самый быстрый путь.Python: получить папку, содержащую расширение определенных файлов

Есть ли один вкладыш для этого?

так что если у меня есть
C: \ folderA \ test1.tga
C: \ folderA \ test2.tga
C: \ folderA \ test3.tga
C: \ folderB \ test4.tga

Я хочу
C: \ folderA \
C: \ folderB \

приветствий

+2

Еще один «помогите мне решить мою домашнюю работу»? –

ответ

1

Существует один лайнер, но он будет выглядеть лучше, если вы использовали больше линий.

set(folder for folder, subfolders, files in os.walk('/') for file_ in files if os.path.splitext(file_)[1] == '.png') 
+0

Спасибо, что именно так я и искал! – Daniel

1

Не один лайнер, но:

def findFolder(root, suffix): 
    for dirName in os.listdir(root): 
    dirPath = os.path.join(root, dirName) 
    if os.path.isdir(dirPath): 
     for fileName in os.listdir(dirPath): 
     if fileName.endswith(suffix): 
      yield dirPath # or dirName, whatever you like better 
      break 
+1

Конечно, не однострочный xD – orlp

Смежные вопросы