logo

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 perscorrere 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


oggetto Java



# 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: