Metodo scandir del modulo os
Il metodo scandir itera su file e
sottocartelle presenti in una directory. Nel
parametro del metodo specifichiamo il percorso della directory. Il metodo
restituisce un oggetto os.DirEntry.
Sintassi
import os
os.scandir(percorso della directory)
Esempio
Scopriamo la struttura della nostra directory:
import os
print(os.scandir('dir'))
Come risultato dell'esecuzione del codice otterremo
un oggetto os.DirEntry:
<nt.ScandirIterator object at 0x000001478707FF00>
Esempio
Ora iteriamo sull'oggetto ottenuto
con un ciclo. Per liberare le risorse di sistema
al termine del ciclo, è necessario
chiudere l'iterazione utilizzando il metodo close() sull'oggetto scandir:
import os
for file in os.scandir('dir'):
print(file)
os.scandir('dir').close()
Risultato del codice eseguito:
<DirEntry 'dir1'>
<DirEntry 'file1.txt'>
<DirEntry 'file2.txt'>
Esempio
Possiamo anche stampare solo i nomi dei file,
applicando all'oggetto ottenuto l'attributo name:
import os
for file in os.scandir('dir'):
print(file.name)
os.scandir('dir').close()
Risultato del codice eseguito:
dir1
file1.txt
file2.txt
Vedi anche
-
oggetto
DirEntrydel moduloos,
che contiene file e sottocartelle iterabili -
metodo
getcwddel moduloos,
che restituisce la directory di lavoro corrente -
metodo
makedirsdel moduloos,
che crea una directory -
metodo
rmtreedel moduloshutil,
che elimina ricorsivamente una cartella -
metodo
copytreedel moduloshutil,
che copia ricorsivamente una cartella -
metodo
path.joindel moduloos,
che unisce percorsi