Метод scandir на модула os

Методът scandir обхожда файлове и подпапки, които се намират в папка. В параметъра на метода задаваме път до папката. Методът връща обект os.DirEntry.

Синтаксис

pythonimport os

os.scandir(път до директория)

Пример

Нека разберем структурата на нашата директория:

pythonimport os

print(os.scandir('dir'))

В резултат на изпълнението на кода ще получим обект os.DirEntry:

python<nt.ScandirIterator object at 0x000001478707FF00>

Пример

Сега нека обходим получения обект с цикъл. За да освободим ресурсите на системата, след приключване на цикъла, е необходимо да затворим обхождането с помощта на метода scandir:

pythonimport os

for file in os.scandir('dir'):
  print(file)
  
  os.scandir('dir').close()

Резултат от изпълнения код:

python<DirEntry 'dir1'>
<DirEntry 'file1.txt'>
<DirEntry 'file2.txt'>

Пример

Също така можем да изведем само имената на файловете, като приложим към получения обект атрибут name:

pythonimport os

for file in os.scandir('dir'):
  print(file.name)
  
  os.scandir('dir').close()

Резултат от изпълнения код:

pythondir1
file1.txt
file2.txt

Вижте също

  • обект DirEntry на модул os,
    който съдържа итерируеми файлове и подпапки
  • метод getcwd на модул os,
    който връща текущата работна директория
  • метод makedirs на модул os,
    който създава директория
  • метод rmtree на модул shutil,
    който рекурсивно изтрива папка
  • метод copytree на модул shutil,
    който рекурсивно копира папка
  • метод path.join на модул os,
    който обединява пътища