Come scorrere i file nella directory usando Python?
Direttorio talvolta note anche come cartelle, sono strutture organizzative di unità nel file system di un sistema per l'archiviazione e l'individuazione di file o più cartelle. Python come linguaggio di scripting fornisce vari metodi per scorrere i file in una directory.
Di seguito sono riportati i vari approcci che consentono di eseguire l'iterazione sui file in una directory utilizzando Python:
Metodo 1: os.listdir()
Questa funzione restituisce l'elenco di File E sottodirectory presente nella directory specificata. Possiamo filtrare l'elenco per ottenere solo i file utilizzando os.percorso.isfile() funzione:
Esempio:
Python3
# import required module> import> os> # assign directory> directory> => 'files'> # iterate over files in> # that directory> for> filename> in> os.listdir(directory):> > f> => os.path.join(directory, filename)> > # checking if it is a file> > if> os.path.isfile(f):> > print> (f)> |
Produzione:
Metodo 2: os.scandir()
Questo metodo viene utilizzato per ottenere un iteratore di os.DirEntry oggetti corrispondenti alle voci nella directory fornite dal percorso specificato.
Esempio:
Python3
# import required module> import> os> # assign directory> directory> => 'files'> # iterate over files in> # that directory> for> filename> in> os.scandir(directory):> > if> filename.is_file():> > print> (filename.path)> |
Produzione:
Metodo 3: modulo pathlib
Possiamo scorrere i file in una directory utilizzando Percorso.glob() funzione che inserisce il modello specificato nella directory specificata e produce i file corrispondenti. Percorso.glob('*') produrre tutti i file nella directory specificata
Esempio:
Python3
# import required module> from> pathlib> import> Path> # assign directory> directory> => 'files'> # iterate over files in> # that directory> files> => Path(directory).glob(> '*'> )> for> file> in> files:> > print> (> file> )> |
Produzione:
Metodo 4: os.walk()
Possiamo anche cercare sottodirectory utilizzando questo metodo poiché produce una tupla di 3 tuple (dirpath, nomi dir, nomi di file) .
- radice : stampa le directory solo da quelle specificate.
- Dire : Stampa le sottodirectory dalla radice.
- File : Stampa tutti i file dalla root e dalle directory.
Python3
# import required module> import> os> # assign directory> directory> => 'files'> # iterate over files in> # that directory> for> root, dirs, files> in> os.walk(directory):> > for> filename> in> files:> > print> (os.path.join(root, filename))> |
Produzione:
Metodo 5: modulo glob
IL glob.iglob() la funzione restituisce un iteratore sull'elenco dei nomi di percorso che corrispondono al modello specificato.
Esempio:
Python3
# import required module> import> glob> # assign directory> directory> => 'files'> # iterate over files in> # that directory> for> filename> in> glob.iglob(f> '{directory}/*'> ):> > print> (filename)> |
Produzione: