Metoden scandir i os-modulet

Metoden scandir itererer over filer og undermapper, som befinder sig i en mappe. I metodens parameter angiver vi stien til mappen. Metoden returnerer et objekt af typen os.DirEntry.

Syntaks

pythonimport os

os.scandir(sti til mappe)

Eksempel

Lad os finde ud af strukturen i vores mappe:

pythonimport os

print(os.scandir('dir'))

Som resultat af at køre koden får vi et objekt af typen os.DirEntry:

python<nt.ScandirIterator object at 0x000001478707FF00>

Eksempel

Lad os nu iterere over det modtagne objekt med en løkke. For at frigøre systemressourcer efter afslutningen af løkken er det nødvendigt at lukke iterationen ved hjælp af metoden scandir:

pythonimport os

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

Resultatet af den udførte kode:

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

Eksempel

Vi kan også kun udskrive filnavnene ved at anvende attributten name på det modtagne objekt:

pythonimport os

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

Resultatet af den udførte kode:

pythondir1
file1.txt
file2.txt

Se også

  • objektet DirEntry i os-modulet,
    som indeholder itererbare filer og undermapper
  • metoden getcwd i os-modulet,
    som returnerer den aktuelle arbejdsmappe
  • metoden makedirs i os-modulet,
    som opretter en mappe
  • metoden rmtree i shutil-modulet,
    som rekursivt sletter en mappe
  • metoden copytree i shutil-modulet,
    som rekursivt kopierer en mappe
  • metoden path.join i os-modulet,
    som sammensætter stier