Metoda scandir modulu os

Metoda scandir prochází soubory a podsložky, které se nacházejí ve složce. V parametru metody zadáváme cestu ke složce. Metoda vrací objekt os.DirEntry.

Syntaxe

pythonimport os

os.scandir(cesta k adresáři)

Příklad

Pojďme zjistit strukturu našeho adresáře:

pythonimport os

print(os.scandir('dir'))

V důsledku provedení kódu dostaneme objekt os.DirEntry:

python<nt.ScandirIterator object at 0x000001478707FF00>

Příklad

Nyní projděme získaný objekt cyklem. Abychom uvolnili prostředky systému, po dokončení cyklu je nutné uzavřít průchod pomocí metody scandir:

pythonimport os

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

Výsledek provedeného kódu:

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

Příklad

Můžeme také vypsat pouze názvy souborů, použitím atributu name na získaném objektu:

pythonimport os

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

Výsledek provedeného kódu:

pythondir1
file1.txt
file2.txt

Viz také

  • objekt DirEntry modulu os,
    který obsahuje iterovatelné soubory a podsložky
  • metoda getcwd modulu os,
    která vrací current working directory
  • metoda makedirs modulu os,
    která vytváří adresář
  • metoda rmtree modulu shutil,
    která rekurzivně odstraňuje složku
  • metoda copytree modulu shutil,
    která rekurzivně kopíruje složku
  • metoda path.join modulu os,
    která spojuje cesty