Найти - Пользователи
Полная версия: Функция os.walk(). Почему исчезает результат.
Начало » Python для новичков » Функция os.walk(). Почему исчезает результат.
1
plustilino
>>> 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, их удаляет?
Enchantner
plustilino
Ну, 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