Метод scandir модуля os - перебор файлов в папке на Python
Метод scandir
перебирает
файлы и подпапки, которые
находятся в папке. В параметре метода
задаем путь к папке. Метод возвращает
объект os.DirEntry
.
Синтаксис
import os
os.scandir(путь к директории)
Пример
Давайте узнаем структуру нашей директории:
import os
print(os.scandir('dir'))
В результате выполнения кода
мы получим объект
os.DirEntry
:
<nt.ScandirIterator object at 0x000001478707FF00>
Пример
Теперь давайте переберем полученный
объект циклом. Для того, чтобы освободить
ресурсы системы, после завершения
цикла, необходимо закрыть перебор с помощью
метода scandir
:
import os
for file in os.scandir('dir'):
print(file)
os.scandir('dir').close()
Результат выполненного кода:
<DirEntry 'dir1'>
<DirEntry 'file1.txt'>
<DirEntry 'file2.txt'>
Пример
Также мы можем вывести только имена
файлов, применив к полученного объекту
атрибут name
:
import os
for file in os.scandir('dir'):
print(file.name)
os.scandir('dir').close()
Результат выполненного кода:
dir1
file1.txt
file2.txt
Смотрите также
-
объект
DirEntry
модуля os,
который содержит итерируемые файлы и подпапки -
метод
getcwd
модуля os,
который возвращает текущий рабочий каталог -
метод
makedirs
модуля os,
который создает директорию -
метод
rmtree
модуля shutil,
который рекурсивно удаляет папку -
метод
copytree
модуля shutil,
который рекурсивно копирует папку -
метод
path.join
модуля os,
который объединяет пути