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

← →
↑