Метод 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 Компилятор