Die scandir-Methode des os-Moduls

Die Methode scandir durchläuft Dateien und Unterordner, die sich in einem Ordner befinden. Im Parameter der Methode wird der Pfad zum Ordner angegeben. Die Methode gibt ein Objekt os.DirEntry zurück.

Syntax

pythonimport os

os.scandir(Pfad zum Verzeichnis)

Beispiel

Lassen Sie uns die Struktur unseres Verzeichnisses ermitteln:

pythonimport os

print(os.scandir('dir'))

Als Ergebnis der Codeausführung erhalten wir ein Objekt os.DirEntry:

python<nt.ScandirIterator object at 0x000001478707FF00>

Beispiel

Lassen Sie uns nun das erhaltene Objekt mit einer Schleife durchlaufen. Um Systemressourcen freizugeben, muss nach Abschluss der Schleife der Durchlauf mit der Methode scandir geschlossen werden:

pythonimport os

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

Ergebnis der Codeausführung:

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

Beispiel

Wir können auch nur die Dateinamen ausgeben, indem wir das Attribut name auf das erhaltene Objekt anwenden:

pythonimport os

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

Ergebnis der Codeausführung:

pythondir1
file1.txt
file2.txt

Siehe auch

  • das Objekt DirEntry des os-Moduls,
    das iterierbare Dateien und Unterordner enthält
  • die Methode getcwd des os-Moduls,
    die das aktuelle Arbeitsverzeichnis zurückgibt
  • die Methode makedirs des os-Moduls,
    die ein Verzeichnis erstellt
  • die Methode rmtree des shutil-Moduls,
    die einen Ordner rekursiv löscht
  • die Methode copytree des shutil-Moduls,
    die einen Ordner rekursiv kopiert
  • die Methode path.join des os-Moduls,
    die Pfade verbindet