Metoden scandir i os-modulen

Metoden scandir itererar över filer och undermappar som finns i mappen. I metodens parameter anger vi sökvägen till mappen. Metoden returnerar ett objekt av typen os.DirEntry.

Syntax

pythonimport os

os.scandir(sökväg till katalog)

Exempel

Låt oss ta reda på strukturen i vår katalog:

pythonimport os

print(os.scandir('dir'))

Som ett resultat av att koden körs får vi ett objekt av typen os.DirEntry:

python<nt.ScandirIterator object at 0x000001478707FF00>

Exempel

Låt oss nu iterera över det erhållna objektet med en loop. För att frigöra systemresurser efter att loopen avslutats, är det nödvändigt att stänga iterationen med metoden scandir:

pythonimport os

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

Resultat av utförd kod:

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

Exempel

Vi kan också bara skriva ut filernas namn genom att applicera attributet name på det erhållna objektet:

pythonimport os

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

Resultat av utförd kod:

pythondir1
file1.txt
file2.txt

Se även

  • objektet DirEntry i os-modulen,
    som innehåller itererbara filer och undermappar
  • metoden getcwd i os-modulen,
    som returnerar den aktuella arbetskatalogen
  • metoden makedirs i os-modulen,
    som skapar en katalog
  • metoden rmtree i shutil-modulen,
    som rekursivt raderar en mapp
  • metoden copytree i shutil-modulen,
    som rekursivt kopierar en mapp
  • metoden path.join i os-modulen,
    som sammanfogar sökvägar