С os.listdir(some_dir)
, мы можем получить все файлы из some_dir
, но иногда было бы 20M файлы (не суб-DIRS) под some_dir
, это было бы долгое время, чтобы вернуть строки 20M от os.listdir()
.Python-2.x: список каталогов без os.listdir()
(Мы не думаем, что это мудрый вариант поставить 20M файлы в один каталог, но это на самом деле там и вне моего контроля ...)
Является ли это какой-либо другой метод генератор, как сделать выполните следующую операцию: после поиска файла, yield
, мы выберем его, а затем следующий файл.
Я пробовал os.walk()
, это действительно инструмент в стиле генератора, но он также вызывает os.listdir()
, чтобы выполнить операцию списка, и он не может хорошо обрабатывать имена файлов в Юникоде (имена UTF-8 вместе с именами GBK).
glob.iglob итератор ... – Benjamin