Метод scandir модуля os
Метод 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
,
который объединяет пути