все Python 3globфункция
glob.iglob()
поиск файлов
То же, что glob.glob(), но возвращает итератор и выдаёт пути по одному, не собирая их в список.
Синтаксис
glob.iglob(pathname, *, root_dir=None, dir_fd=None, recursive=False, include_hidden=False)
Экономит память на больших деревьях, но итератор одноразовый: второй проход ничего не выдаст. Файлы, созданные или удалённые во время обхода, могут попасть или не попасть в результат. len() у итератора нет — для подсчёта нужен список или sum(1 for _ in ...).
Примеры
import glob
for name in ['a.log', 'b.log']:
open(name, 'w').close()
it = glob.iglob('*.log')
print(sorted(it)) # → ['a.log', 'b.log']
print(list(it)) # → [] — итератор уже исчерпан
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности