Scorri i file nella directory in Python
-
Esegui il bucle attraverso i file in una directory in Python usando il metodo
os.listdir()
-
Eseguire il bucle attraverso i file in una directory in Python utilizzando il metodo
pathlib.path().glob()
-
Esegui il bucle attraverso i file in una directory in Python usando il metodo
os.walk()
-
Esegui il bucle attraverso i file in una directory in Python usando il metodo
iglob()
Questo tutorial spiegherà diversi modi per scorrere i file in una directory in Python. Dobbiamo cercare un file in una directory per implementare funzionalità come la condivisione di file, la visualizzazione di file o il caricamento di file per eseguire alcune azioni sui dati salvati in essa.
Supponiamo di avere un nome di file e di dover leggere i dati da quel file, abbiamo bisogno di un metodo per scorrere i file nella directory per trovare il file di cui abbiamo bisogno. I vari metodi usati per scorrere i file in una directory in Python sono spiegati di seguito.
Esegui il bucle attraverso i file in una directory in Python usando il metodo os.listdir()
Il metodo listdir()
del modulo os
prende il percorso della directory come input e restituisce una lista di tutti i file in quella directory. Poiché vogliamo trovare il file specifico nella directory, dovremo scorrere i nomi dei file per trovare il file richiesto. L’esempio di codice seguente mostra come trovare un file specifico iterando attraverso il file usando il metodo listdir()
in Python.
import os
files = os.listdir("Desktop/myFolder")
myfile = "filename.txt"
for filename in files:
if filename == myfile:
continue
Eseguire il bucle attraverso i file in una directory in Python utilizzando il metodo pathlib.path().glob()
Il metodo path()
del modulo pathlib
prende la stringa del percorso della directory come input e restituisce l’lista di tutti i percorsi dei file nella directory e nelle sottodirectory.
Supponiamo che il file che vogliamo trovare sia il file .txt
, possiamo ottenere i percorsi di tutti i file .txt
usando il metodo path().glob()
. L’esempio di codice seguente mostra come scorrere tutti i file .txt
in una directory utilizzando il metodo path
in Python.
from pathlib import Path
pathlist = Path("Desktop/myFolder").glob("**/*.txt")
myfile = "filename.txt"
for path in pathlist:
if path.name == myfile:
continue
Lo schema **/*.txt
restituisce tutti i file con l’estensione txt
nella cartella corrente e nelle sue sottocartelle. path.name
restituisce solo il nome del file ma non il percorso completo.
Esegui il bucle attraverso i file in una directory in Python usando il metodo os.walk()
Il metodo walk()
del modulo os
prende anche la stringa del percorso della directory come input e restituisce il percorso della directory principale come una stringa, l’lista delle sottodirectory e l’lista di tutti i file nella directory corrente e le sue sottodirectory.
Per trovare il file con il nome filename.txt
, possiamo prima ottenere tutti i file nella directory e quindi eseguire il bucle per ottenere il file desiderato. Nell’esempio di codice riportato di seguito viene illustrato come trovare un file eseguendo un bucle tra i file in una directory.
import os
myfile = "filename.txt"
for root, dirs, files in os.walk("Desktop/myFolder"):
for file in files:
if file == myfile:
print(file)
Esegui il bucle attraverso i file in una directory in Python usando il metodo iglob()
Il metodo iglob()
del modulo glob()
prende come input il percorso della directory e l’estensione del file richiesto e restituisce il percorso di tutti i file con la stessa estensione. L’esempio di codice seguente mostra come scorrere i file in una directory e trovare il file richiesto in Python usando il metodo iglob()
.
import glob
for filepath in glob.iglob("drive/test/*.txt"):
if filepath.endswith("/filename.txt"):
print(filepath)