Metoden scandir i os-modulen

Metoden scandir itererer over filer og undermapper som finnes i en mappe. I parameteren til metoden angir vi stien til mappen. Metoden returnerer et objekt av typen os.DirEntry.

Syntaks

pythonimport os

os.scandir(sti til katalog)

Eksempel

La oss finne strukturen til katalogen vår:

pythonimport os

print(os.scandir('dir'))

Som et resultat av å kjøre koden vil vi få et objekt av typen os.DirEntry:

python<nt.ScandirIterator object at 0x000001478707FF00>

Eksempel

La oss nå iterere over det oppnådde objektet med en løkke. For å frigjøre systemressurser etter at løkken er fullført, er det nødvendig å avslutte itereringen ved hjelp av metoden scandir:

pythonimport os

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

Resultatet av den utførte koden:

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

Eksempel

Vi kan også bare skrive ut filnavnene ved å bruke attributten name på det oppnådde objektet:

pythonimport os

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

Resultatet av den utførte koden:

pythondir1
file1.txt
file2.txt

Se også

  • objektet DirEntry i os-modulen,
    som inneholder itererbare filer og undermapper
  • metoden getcwd i os-modulen,
    som returnerer den nåværende arbeidskatalogen
  • metoden makedirs i os-modulen,
    som oppretter en katalog
  • metoden rmtree i shutil-modulen,
    som rekursivt sletter en mappe
  • metoden copytree i shutil-modulen,
    som rekursivt kopierer en mappe
  • metoden path.join i os-modulen,
    som slår sammen stier