Найти - Пользователи
Полная версия: Поиск файлов во всех поддирректориях указанной папки
Начало » Python для новичков » Поиск файлов во всех поддирректориях указанной папки
1
Aleksandr
def OnButton1Button(self, event):
        import os,glob
        self.listBox1.Clear()
        dir_ext = self.textCtrl1.GetValue()
        dir_ext = glob.glob(dir_ext)
        for file in dir_ext:
            if os.path.isfile(file):
                self.staticText1.SetLabel(file)
                self.listBox1.Append(file)                                                  
В интернетах написано что таким образом если указать путь вроде “/*” или “/*.*” (линукс) могут быть получены пути ко всем файлам во всех поддирректориях. А у меня результат 4 файла в корне(/ -это корневой каталог), и поддирректории не проверяются. Чтобы это исправить мне нужно чтото дописать или создавать отдельный список для найденных папок и по мере поиска брать из него пути, удалять взятые и добавлять найденные в папках пути к подпапкам?
Эдакий круговорот путей в одном списке.
fata1ex
Задача решается рекурсивным проходом в глубину по дереву папок. Берете начальную директорию вызываете свою функцию, выводите список файлов и для каждой подпапки в этой директории так же вызываете эту функцию. Если у вас тысячи поддиректорий придётся сделать итеративный вариант.

Понял о чем вы. “> ls ./*” выведет все файлы и поддиректории. Так же может пригодиться os.walk.
Aleksandr
fata1ex
Понял о чем вы. “> ls ./*” выведет все файлы и поддиректории. Так же может пригодится os.walk.
Уууууу….os.Walk это круто..Спасибо, чую изучение этого
на пару тройку дней затянется.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB