Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рекурсивный обход каталогов 
V
    Опции темы
Arkadiy
  Дата 6.1.2009, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 21.9.2005

Репутация: нет
Всего: нет



Структура каталога:
Код

1d [DIR]
  2d [DIR]
    3f [FILE]
  2f  [FILE]



такой код:

Код

def walk_near(path):
    for root, dirs, files in os.walk(path):
        print "ROOT:", root
        print "DIRS:", dirs
        print "FILES:", files
        try:
            for dir in dirs:
                new_path = os.path.join(root, dir)
                print "ENTER in:" + new_path
                walk_near(new_path)
            for file in files:
                file_path = os.path.join(root, file)
                print "WORK WITH: " + file_path
        except:
            print "exception"


и такой output:
Код

ROOT: c:\etc\tst\
DIRS: ['1d']
FILES: []
ENTER in:c:\etc\tst\1d
ROOT: c:\etc\tst\1d
DIRS: ['2d']
FILES: ['2f.htm']
ENTER in:c:\etc\tst\1d\2d
ROOT: c:\etc\tst\1d\2d
DIRS: []
FILES: ['3f.htm']
WORK WITH: c:\etc\tst\1d\2d\3f.htm
WORK WITH: c:\etc\tst\1d\2f.htm
<================== Вот тут должно все закончиться, но продолжает работать, почему?
ROOT: c:\etc\tst\1d\2d
DIRS: []
FILES: ['3f.htm']
WORK WITH: c:\etc\tst\1d\2d\3f.htm
ROOT: c:\etc\tst\1d
DIRS: ['2d']
FILES: ['2f.htm']
ENTER in:c:\etc\tst\1d\2d
ROOT: c:\etc\tst\1d\2d
DIRS: []
FILES: ['3f.htm']
WORK WITH: c:\etc\tst\1d\2d\3f.htm
WORK WITH: c:\etc\tst\1d\2f.htm
ROOT: c:\etc\tst\1d\2d
DIRS: []
FILES: ['3f.htm']
WORK WITH: c:\etc\tst\1d\2d\3f.htm


В чем я ошибся?
PM MAIL   Вверх
Daevaorn
Дата 6.1.2009, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



А зачем вы рекурсивно вызываете туже функцию? walk и так пройдет по всем подкаталогам.
PM MAIL WWW   Вверх
Arkadiy
  Дата 6.1.2009, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 21.9.2005

Репутация: нет
Всего: нет



Daevaorn,  действительно smile спасибо за помощь! ;-)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0970 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.