Начиная с Python 3.5, вы можете использовать os.scandir
.
Разница в том, что он возвращает файл записей , а не имена. В некоторых ОС, таких как Windows, это означает, что вам не нужно os.path.isdir/file
знать, файл это или нет, и это экономит время ЦП, потому что stat
уже выполнено при сканировании директории в Windows:
пример, чтобы вывести список каталогов и распечатать файлы размером более max_value
байт:
for dentry in os.scandir("/path/to/dir"):
if dentry.stat().st_size > max_value:
print("{} is biiiig".format(dentry.name))
(читайте подробный мой основанный на характеристиках ответ здесь )