Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 1, 2011 12:20:13

plustilino
Зарегистрирован: 2011-08-01
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Функция os.walk(). Почему исчезает результат.

>>> import os
>>> folder = '/home/pl/py/mydir'
>>> a = os.walk(folder)
>>> for r, d, f in a:
... print(r)
...
/home/pl/py/mydir
/home/pl/py/mydir/dir2a
/home/pl/py/mydir/dir2a/dir3
/home/pl/py/mydir/dir2b
>>> for r, d, f in a:
... print(r)
...
>>>
В переменную a помещается объект, сгенерированный функцией walk.
Если первый раз просмотреть содержимое этого объекта в цикле for, то все работает.
А вот при повторном обращении к переменной a содержимое не выдается.
Почему? Обращение к данным, связанным с a, их удаляет?



Офлайн

#2 Авг. 1, 2011 13:06:51

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Функция os.walk(). Почему исчезает результат.

plustilino
Ну, os.walk() возвращает объект итератора, соответственно при полном переборе последовательности из него все достается и не хранится в памяти больше.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version