Metoda scandir modula os

Metoda scandir iterira prek datotek in podmap, ki se nahajajo v mapi. V parametru metode nastavimo pot do mape. Metoda vrne objekt os.DirEntry.

Sintaksa

pythonimport os

os.scandir(pot do direktorija)

Primer

Ugotovimo strukturo našega direktorija:

pythonimport os

print(os.scandir('dir'))

Kot rezultat izvajanja kode bomo dobili objekt os.DirEntry:

python<nt.ScandirIterator object at 0x000001478707FF00>

Primer

Sedaj iterirajmo prek dobljenega objekta z zanko. Da bi sprostili sistemske vire po končani zanki, je potrebno zapreti iterator s pomočjo metode scandir:

pythonimport os

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

Rezultat izvedbe kode:

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

Primer

Prav tako lahko izpišemo samo imena datotek, z uporabo atributa name na dobljenem objektu:

pythonimport os

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

Rezultat izvedbe kode:

pythondir1
file1.txt
file2.txt

Glejte tudi

  • objekt DirEntry modula os,
    ki vsebuje iterabilne datoteke in podmap
  • metoda getcwd modula os,
    ki vrne trenutni delovni imenik
  • metoda makedirs modula os,
    ki ustvari imenik
  • metoda rmtree modula shutil,
    ki rekurzivno odstrani mapo
  • metoda copytree modula shutil,
    ki rekurzivno kopira mapo
  • metoda path.join modula os,
    ki združi poti