Función Python Glob () Para Hacer Coincidir Rutas, Directorios y Nombres de archivos con Ejemplos

glob es un término general utilizado para definir técnicas para hacer coincidir patrones especificados de acuerdo con reglas relacionadas con el shell de Unix. Los sistemas y shells Linux y Unix también soportan glob y también proporcionan la función glob () en las bibliotecas del sistema. En este tutorial, veremos glob() uso de funciones en el lenguaje de programación Python.

Para usar glob() y funciones relacionadas, necesitamos importar el módulo glob. Tenga en cuenta que el móduloglob contiene glob() y otras funciones relacionadas.

import glob
Importar Módulo de Globo

Exacto de la Cadena de Búsqueda

vamos a empezar con un ejemplo sencillo. Veremos cómo hacer coincidir la cadena exacta o el nombre de archivo con una ruta absoluta. En este ejemplo listaremos el archivo /home/ismail/poftut.c. Podemos ver un ejemplo a continuación que la función devuelve una lista que contiene coincidencias.

glob.glob("/home/ismail/poftut.c")
Exacto de la Cadena de Búsqueda

Comodines

Comodín es importante glob operador global de las operaciones. El comodín o asterisco se usa para que coincida con cero o más caracteres. Comodín especifica que puede haber cero carácter o varios caracteres cuando el carácter no es importante. En este exmaple compararemos los archivos que tienen extensión .txt.

glob.glob("/home/ismail/*.txt")
Comodines

Como podemos ver que hay un montón de .txt archivos de los de retorno en una lista de Python.

Comodines con Directorios multinivel

Podemos usar comodines para especificar directorios multinivel. Si queremos buscar directorios de un nivel hacia abajo para glob especificado, usaremos /*/. En este ejemplo, buscamos archivos .txt en directorios de un nivel inferior en /home/ismail . Esto también se llama «glob glob» porque usamos el nombre del módulo glob y la función glob que proporciona el módulo glob.

glob.glob("/home/ismail/*/*.txt")
Comodines con Multinivel Directorios

un Único Carácter Comodín

Hay un signo de interrogación que se utiliza para que coincida con carácter individual. Esto puede ser útil si no conocemos un solo carácter para el nombre de pila. En este ejemplo compararemos archivos con archivos file?.txt archivo donde coincidirán con el archivo

  • .archivo txt
  • 1.archivo txt
  • 5.txt
glob.glob("/home/ismail/file?.txt")

Múltiples caracteres

Glob también admite caracteres alfabéticos y numéricos. Podemos usar se usa para finalizar el rango de caracteres. Podemos poner lo que queramos que coincida entre corchetes. En este ejemplo, compararemos los nombres de archivos y carpetas que inician uno de e,m,p .

glob.glob("/home/ismail/*.tx?")
Rangos de Caracteres

Número de Rangos de

En algunos casos, podemos desee para que coincida con el rango de números. Podemos usar- guión para especificar números de inicio y fin. En este ejemplo, coincidiremos de 0 a 9 con 0-9. En este ejemplo, coincidiremos con los nombres de archivos y carpetas que contienen números del 0 al 9.

glob.glob("/home/ismail/**")
Número de Rangos

Alfabeto Rangos de

también podemos definir el Alfabeto rangos similares a los rangos de números. usaremos a-z para caracteres en minúsculas, donde A-Z para caracteres en mayúsculas. ¿Qué pasa si necesitamos emparejar caracteres en mayúsculas y minúsculas en una sola instrucción? Podemos usar la a-Z para emparejar letras mayúsculas y minúsculas. En este ejemplo, compararemos los nombres de archivos y carpetas que comienzan con letras entre a y c

glob.glob("/home/ismail/*")
Rangos de alfabeto

Generador de retorno con iglob() Mehtod

Generalmente se usa el método glob para listar archivos para los patrones especificados. Pero en algunos casos, enumerarlos y almacenarlos puede ser un trabajo tedioso. Por lo tanto, la función iglob() se puede usar para crear un iterador que se puede usar para iterar los nombres de archivo con la función next().

import glob
gen = glob.iglob("*.txt")
for item in gen:
print(item)
Volver Generador con iglob() Metodología

Omitir Caracteres Específicos con el escape() Método

escape() función se puede utilizar para omitir o no una lista de algunos de los archivos de esos nombres ha especifica los caracteres. Por ejemplo, si queremos omitir los archivos que contienen esos nombres - o _o # podemos usar la función escape() proporcionando estos caracteres.

chars_skip = "-_#"
for char_skip in chars_skip:
esc_set = "*" + glob.escape(char_skip)+ "*" + ".txt"
for txt in (glob.glob(esc_set)):
print(txt)

Deja una respuesta

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