Función Glob de Python

Python es uno de los lenguajes de programación de propósito general más utilizados en los últimos tiempos. Proporciona muchos módulos incorporados, funciones y palabras clave para realizar tareas relacionadas con los archivos. Un glob es un término que se refiere a las técnicas utilizadas para hacer coincidir patrones particulares según las reglas relacionadas con el shell de UNIX. Los sistemas operativos basados en Linux y UNIX proporcionan la función glob() para encontrar archivos y directorios según un patrón determinado. Python también proporciona un módulo glob incorporado para acceder o recuperar archivos y nombres de ruta que coincidan con un patrón especificado. Utilizaremos la función glob() de Python del módulo glob para las tareas descritas en este artículo. En este artículo se explica cómo utilizar la función glob() para encontrar nombres de ruta y de archivo según un patrón dado.

Ejemplo 1: Coincidir nombre de archivo o ruta con ruta absoluta

Veamos un par de ejemplos para entender el funcionamiento y la operatividad de la función glob(). Comenzaremos con un sencillo ejemplo de coincidencia del nombre de archivo o ruta con la ruta absoluta. Si el nombre de archivo o la ruta coinciden con la ruta absoluta, la función glob() devuelve las coincidencias en forma de lista; en caso contrario, la función glob() devuelve una lista vacía.

#importar el módulo glob
importar glob
#usar la función glob para hacer coincidir el nombre de la ruta con la ruta absoluta
#coincidir con la ruta absoluta del directorio de descargas
print(glob.glob(“/home/linuxhint/Downloads”))
#coincidir con la ruta absoluta del directorio de documentos
print(glob.glob(“/home/linuxhint/Documents”))
#coincidir con la ruta absoluta del Escritorio
print(glob.glob(“/home/linuxhint/Desktop”))
#coincidir con la ruta absoluta de los archivos
print(glob.glob(“/home/linuxhint/Desktop/script.sh”))
print(glob.glob(“/home/linuxhint/Descargas/formato.py”))
print(glob.glob(“/home/linuxhint/Documentos/calculadora.py”))
#especificar ruta de archivo que no existe
#la función glob devolverá la lista vacía
print(glob.glob(“/home/linuxhint/Documentos/miarchivo.py”))

Salida

La salida muestra las coincidencias.

Ejemplo 2: Uso de comodines para la recuperación de rutas

Es posible utilizar comodines con la función glob() para la recuperación de rutas. Los comodines más utilizados son el asterisco (*), el signo de interrogación (?), el rango numérico y el rango alfabético. En primer lugar, discutiremos el uso del asterisco en la función glob().

Uso de un comodín asterisco (*) para la recuperación de rutas

El operador comodín asterisco se utiliza para coincidir con cero o más caracteres de la ruta absoluta. Si no se especifica ningún carácter con el asterisco, la función listará la ruta absoluta de todos los archivos, directorios y subdirectorios de la ruta dada. También puede escribir algunos caracteres con el asterisco y la función buscará la ruta absoluta basándose en los caracteres indicados. Por ejemplo, si necesita encontrar la ruta absoluta de los archivos .txt, entonces el comodín * se puede utilizar como *.txt.

Implementaremos esto en nuestro script de Python.

#importar el módulo glob
importar glob
#encontrar la ruta absoluta de los archivos y directorios
print(glob.glob(“/home/linuxhint/Downloads/*”))
print(“—————————————-“)
#encontrar la ruta absoluta de los archivos .txt en el directorio Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.txt”))
print(“—————————————-“)
#encontrar la ruta absoluta de los archivos .sh en el directorio Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.sh”))
print(“—————————————-“)
#encontrar la ruta absoluta de los archivos .py en el directorio Documents
print(glob.glob(“/home/linuxhint/Documents/*.py”))
print(“—————————————-“)

Salida

La salida muestra la ruta absoluta de los archivos y directorios según las reglas definidas en la función globe().

Utilizando un operador comodín de signo de interrogación (?)

El operador comodín de signo de interrogación (?) se utiliza para coincidir con un solo carácter. Esto puede ser útil en situaciones en las que no se conoce un solo carácter en el nombre dado.

Implementaremos esto en nuestro script de Python.

#importar el módulo glob
importar glob
#encontrar el archivo con el operador comodín *
print(glob.glob(“/home/linuxhint/Desktop/file?.txt”))

Salida

La salida muestra los archivos coincidentes.

Usando un operador comodín de rango

El operador comodín de rango se usa para coincidir con archivos en un rango dado de caracteres o números. El rango se define dentro de los corchetes.

Buscaremos la ruta absoluta de los archivos definiendo el rango.

#importar el módulo glob
importar glob
#encontrar la ruta absoluta de los archivos en un rango dado
#definir el rango en caracteres
print(glob.glob(“/home/linuxhint/Desktop/*”))
#imprimir la línea de puntos para diferenciar la salida
print(“——————————————“)
#definir el rango en números
print(glob.glob(“/home/linuxhint/Desktop/*”)

Salida

Buscar archivos de forma recursiva utilizando glob()

La función glob toma dos parámetros como argumento. El primer parámetro define el nombre de la ruta, y el segundo parámetro define la propiedad recursiva. El segundo parámetro es opcional, y la propiedad recursiva se establece en “false” por defecto. Sin embargo, puede establecer la propiedad recursiva a “true” para encontrar la ruta de los archivos de forma recursiva.

Estableceremos la propiedad recursiva igual a “true” en nuestro script de Python y encontraremos la ruta absoluta de los archivos de forma recursiva.

#importar el módulo glob
importar glob
#encontrar los ficheros recursivamente
print(glob.glob(“/home/linuxhint/Documents/*”,recursive=True))

Salida

Conclusión

Glob es un término común que se refiere a las técnicas utilizadas para hacer coincidir patrones particulares según las reglas relacionadas con el shell de UNIX. Python proporciona un módulo glob incorporado y una función para acceder a los nombres de ruta de acuerdo con reglas dadas. Este artículo explica cómo utilizar la función glob() para encontrar nombres de ruta con varios ejemplos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.