logo

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ètodesiterar 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


java ordenant una llista



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