Bucle a través de archivos en el directorio en Python
-
Recorrer los archivos de un directorio en Python usando el método
os.listdir()
-
Recorrer los archivos de un directorio en Python utilizando el método
pathlib.path().glob()
-
Recorrer los archivos de un directorio en Python con el método
os.walk()
-
Recorrer los archivos de un directorio en Python utilizando el método
iglob()
Este tutorial explicará diferentes formas de recorrer los archivos de un directorio en Python. Necesitamos buscar un archivo en un directorio para implementar funciones como compartir archivos, ver archivos o cargar archivos para realizar alguna acción sobre los datos guardados en él.
Supongamos que tenemos un nombre de archivo y necesitamos leer datos de ese archivo, necesitamos algún método para hacer un bucle a través de los archivos en el directorio para encontrar el archivo que necesitamos. A continuación se explican los distintos métodos utilizados para recorrer los archivos de un directorio en Python.
Recorrer los archivos de un directorio en Python usando el método os.listdir()
El método listdir()
del módulo os
toma la ruta del directorio como entrada y devuelve una lista de todos los archivos en ese directorio. Como queremos encontrar el archivo específico en el directorio, tendremos que recorrer los nombres de los archivos para encontrar el archivo requerido. El siguiente ejemplo de código demuestra cómo encontrar un archivo específico iterando a través del archivo usando el método listdir()
en Python.
import os
files = os.listdir("Desktop/myFolder")
myfile = "filename.txt"
for filename in files:
if filename == myfile:
continue
Recorrer los archivos de un directorio en Python utilizando el método pathlib.path().glob()
El método path()
del módulo pathlib
toma la cadena de la ruta del directorio como entrada y devuelve la lista de todas las rutas de los archivos en el directorio y subdirectorios.
Supongamos que el archivo que queremos encontrar es un archivo .txt
, podemos obtener las rutas de todos los archivos .txt
usando el método path().glob()
. El siguiente ejemplo de código demuestra cómo recorrer todos los archivos .txt
de un directorio utilizando el método path
en Python.
from pathlib import Path
pathlist = Path("Desktop/myFolder").glob("**/*.txt")
myfile = "filename.txt"
for path in pathlist:
if path.name == myfile:
continue
El patrón **/*.txt
devuelve todos los archivos con la extensión txt
en la carpeta actual y sus subcarpetas. path.name
devuelve sólo el nombre del archivo pero no la ruta completa.
Recorrer los archivos de un directorio en Python con el método os.walk()
El método walk()
del módulo os
también toma la cadena de la ruta del directorio como entrada y devuelve la ruta del directorio raíz como una cadena, la lista de los subdirectorios, y la lista de todos los archivos en el directorio actual y sus subdirectorios.
Para encontrar el archivo con el nombre filename.txt
, podemos obtener primero todos los archivos en el directorio y luego hacer un bucle a través de ellos para obtener el archivo deseado. El siguiente ejemplo de código demuestra cómo encontrar un archivo haciendo un bucle a través de los archivos en un directorio.
import os
myfile = "filename.txt"
for root, dirs, files in os.walk("Desktop/myFolder"):
for file in files:
if file == myfile:
print(file)
Recorrer los archivos de un directorio en Python utilizando el método iglob()
El método iglob()
del módulo glob()
toma la ruta del directorio y la extensión del archivo requerido como entrada y devuelve la ruta de todos los archivos con la misma extensión. El siguiente ejemplo de código demuestra cómo hacer un bucle a través de los archivos en un directorio y encontrar el archivo requerido en Python utilizando el método iglob()
.
import glob
for filepath in glob.iglob("drive/test/*.txt"):
if filepath.endswith("/filename.txt"):
print(filepath)