Buscar archivos con Python
-
Buscar archivo con la función
os.walk()
en Python -
Buscar archivo con la función
glob.glob()
en Python -
Buscar archivo con la función
Path.glob()
en Python
Este tutorial discutirá los métodos para encontrar un archivo en Python.
Buscar archivo con la función os.walk()
en Python
Si queremos encontrar la ruta de un archivo específico en nuestra máquina con python, podemos usar el módulo os
. El módulo os
proporciona muchas funcionalidades relacionadas con el sistema operativo para nuestro código. La función os.walk()
toma una cadena path
como parámetro de entrada y nos da la ruta del directorio, el nombre del directorio y el nombre de cada archivo en el path
. El código de muestra a continuación nos muestra cómo encontrar un archivo en Python con la función os.walk()
.
import os
def findfile(name, path):
for dirpath, dirname, filename in os.walk(path):
if name in filename:
return os.path.join(dirpath, name)
filepath = findfile("file2.txt", "/")
print(filepath)
Producción :
/Users\maisa\Documents\PythonProjects\file2.txt
En el código anterior, declaramos la función findfile()
que usa la función os.walk()
para encontrar nuestro archivo. La función findfile()
toma el nombre del archivo y la ruta raíz como parámetros de entrada y devuelve la ruta de nuestro archivo especificado. Este enfoque nos da la ruta absoluta del archivo.
Buscar archivo con la función glob.glob()
en Python
También podemos usar la función glob.glob()
para resolver nuestro problema actual. La función glob.glob()
toma un nombre de ruta como parámetro de entrada y devuelve una lista de todas las rutas de archivo que coinciden con el argumento de entrada. Podemos especificar una expresión regular como parámetro de entrada que coincida solo con nuestro archivo. El código de muestra a continuación nos muestra cómo encontrar un archivo en Python con la función glob.glob()
.
import glob
filepath = glob.glob("**/file.txt", recursive=True)
print(filepath)
Producción :
['Find File\\file.txt']
Pasamos nuestro nombre de archivo como parámetro de entrada a la función glob.glob()
, y devolvió la ruta relativa de nuestro archivo. Este método puede darnos la ruta relativa así como la ruta absoluta de nuestro archivo.
Buscar archivo con la función Path.glob()
en Python
Otro enfoque es utilizar el módulo pathlib
. Este módulo de Python ofrece clases que representan rutas del sistema de archivos para diferentes sistemas operativos. Podemos usar la función Path.glob()
dentro del módulo pathlib
para resolver nuestro problema específico. Esta función es similar a la función glob()
dentro del módulo glob
. La función Path.glob()
toma un patrón como parámetro de entrada y devuelve una lista de objetos de ruta que coinciden con el argumento de entrada. El fragmento de código de muestra nos muestra cómo encontrar un archivo en Python con el módulo pathlib
.
import pathlib
filepath = sorted(pathlib.Path(".").glob("**/file2.txt"))
print(filepath)
Producción :
[WindowsPath('file2.txt')]
Pasamos una cadena de patrón que coincide con nuestro archivo con la función Path.glob()
. La función Path.glob()
nos devuelve una lista de objetos WindowsPath
que coinciden con el patrón. Con este método, obtenemos objetos de ruta específicos de nuestro sistema operativo.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn