Com iterar sobre fitxers del directori mitjançant Python?
Directori També de vegades conegudes com a carpeta són l'estructura organitzativa de la unitat en el sistema de fitxers d'un sistema per emmagatzemar i localitzar fitxers o més carpetes. Python com a llenguatge de script ofereix diversos mètodes iterar sobre els fitxers d'un directori.
A continuació es mostren els diferents enfocaments mitjançant els quals es pot iterar fitxers d'un directori mitjançant Python:
Mètode 1: os.listdir()
Aquesta funció retorna la llista de Fitxers i subdirectoris present al directori donat. Podem filtrar la llista per obtenir només els fitxers utilitzats os.path.isfile() funció:
Exemple:
Python 3
# 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)> |
Sortida:
Mètode 2: os.scandir()
Aquest mètode s'utilitza per obtenir un iterador de os.DirEntry objectes corresponents a les entrades del directori donades per la ruta especificada.
Exemple:
Python 3
# 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)> |
Sortida:
Mètode 3: mòdul pathlib
Podem iterar sobre fitxers d'un directori utilitzant Path.glob() funció que recull el patró especificat al directori donat i produeix els fitxers coincidents. Path.glob(‘*’) donar tots els fitxers al directori donat
Exemple:
Python 3
# 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> )> |
Sortida:
Mètode 4: os.walk()
També podem cercar subdirectoris mitjançant aquest mètode, ja que produeix una tupla de 3 (dirpath, dirnames, noms de fitxer) .
- arrel : imprimeix directoris només des del que heu especificat.
- dir : Imprimeix subdirectoris des de l'arrel.
- Fitxers : Imprimeix tots els fitxers des de l'arrel i directoris.
Python 3
# 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))> |
Sortida:
Mètode 5: mòdul glob
El glob.iglob() La funció retorna un iterador sobre la llista de camins que coincideixen amb el patró donat.
Exemple:
Python 3
# import required module> import> glob> # assign directory> directory> => 'files'> # iterate over files in> # that directory> for> filename> in> glob.iglob(f> '{directory}/*'> ):> > print> (filename)> |
Sortida: