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



Чат с GPT Компилятор