logo

¿Cómo iterar sobre archivos en un directorio usando Python?

Directorio También conocidas a veces como carpetas, son una estructura organizativa de unidades en el sistema de archivos de un sistema para almacenar y ubicar archivos o más carpetas. Python como lenguaje de programación proporciona varios métodos paraiterar sobre archivos en un directorio.

A continuación se muestran varios enfoques mediante los cuales se pueden iterar sobre archivos en un directorio usando Python:



Método 1: os.listdir()

Esta función devuelve la lista de archivos y subdirectorios presente en el directorio dado. Podemos filtrar la lista para obtener solo los archivos usando os.ruta.isfile() función:

Ejemplo:



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

>

>

Producción:

Método 2: os.scandir()

Este método se utiliza para obtener un iterador de os.DirEntry objetos correspondientes a las entradas en el directorio proporcionado por la ruta especificada.

Ejemplo:

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

>

>

Producción:

Método 3: módulo pathlib

Podemos iterar sobre archivos en un directorio usando ruta.glob() función que coloca el patrón especificado en el directorio dado y produce los archivos coincidentes. Ruta.glob('*') producir todos los archivos en el directorio dado

Ejemplo:

Python3


escáner.siguiente 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>)>

>

>

Producción:

Método 4: os.walk()

También podemos buscar subdirectorios usando este método, ya que produce una tupla de 3 (dirpath, dirnames, nombres de archivos) .

  • raíz : Imprime directorios sólo a partir de lo que especificó.
  • decir : Imprime subdirectorios desde la raíz.
  • archivos : Imprime todos los archivos desde la raíz y los directorios.

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

>

>

Producción:

Método 5: módulo global

El glob.iglob() La función devuelve un iterador sobre la lista de nombres de rutas que coinciden con el patrón dado.

Ejemplo:

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

>

>

Producción: