Az os modul scandir metódusa

A scandir metódus bejárja a mappában található fájlokat és almappákat. A metódus paraméterében a mappa elérési útját adjuk meg. A metódus visszaad egy os.DirEntry objektumot.

Szintaxis

pythonimport os

os.scandir(útvonal a könyvtárhoz)

Példa

Nézzük meg a könyvtárstruktúránkat:

pythonimport os

print(os.scandir('dir'))

A kód végrehajtásának eredményeképpen egy os.DirEntry objektumot kapunk:

python<nt.ScandirIterator object at 0x000001478707FF00>

Példa

Most járjuk be a kapott objektumot egy ciklussal. Annak érdekében, hogy a rendszererőforrásokat felszabadítsuk a ciklus befejezése után, szükséges leállítani a bejárást a scandir metódus close metódusával:

pythonimport os

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

A végrehajtott kód eredménye:

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

Példa

Csak a fájlneveket is kiírhatjuk, ha a kapott objektumra alkalmazzuk a name attribútumot:

pythonimport os

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

A végrehajtott kód eredménye:

pythondir1
file1.txt
file2.txt

Lásd még

  • a DirEntry objektum az os modulból,
    amely a bejárható fájlokat és almappákat tartalmazza
  • a getcwd metódus az os modulból,
    amely visszaadja az aktuális munkakönyvtárat
  • a makedirs metódus az os modulból,
    amely létrehoz egy könyvtárat
  • a rmtree metódus a shutil modulból,
    amely rekurzívan töröl egy mappát
  • a copytree metódus a shutil modulból,
    amely rekurzívan másol egy mappát
  • a path.join metódus az os modulból,
    amely útvonalakat egyesít