Методот 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,
    кој ги спојува патеките