Python Glob recursivo

Python Glob recursivo
Glob es una palabra general que describe muchas estrategias que pueden usarse para que coincidan con ciertos patrones de acuerdo con las pautas asociadas con el shell Unix. Tanto Linux como UNIX tienen sistemas operativos y conchas que admiten Glob, y ambos tienen bibliotecas de sistemas que admiten la función GLOB ().

El módulo global en Python se puede usar para obtener los archivos y los nombres de ruta que coinciden con un patrón especificado. Las reglas del patrón para el globo se adhieren al estándar establecido por Unix para la expansión de la ruta. Además de esto, se anticipa, según puntos de referencia, que será más rápido que los enfoques existentes para que coincidan con los nombres de ruta en los directorios. Además de buscar una cadena exacta, podemos emplear los comodines ("*,?, [rangos]) con un globo para hacer que el proceso de recuperación de la ruta sea más sencillo y fácil de usar.

Al leer el siguiente artículo, obtendrá una descripción general de la función Glob (), que es una herramienta útil para localizar archivos de manera recursiva a través del código Python.

La sintaxis para el método Glob () es:

parar.Glob (Path_Name, *, recursivo = falso)

Nota: El valor recursivo se establece en falso de forma predeterminada.

Ejemplo 1: Uso del método recursivo del globo en un programa Python para imprimir el nombre y la fuente de los primeros 10 archivos en el directorio dado

En este ejemplo, utilizaremos el rango de comodines [0-9] para ubicar todos los archivos cuyos nombres contienen un número o cualquier dígito antes de la extensión. El rango de caracteres [0-9] corresponde a cualquier dígito único. El DASH representa un alcance ininterrumpido de caracteres consecutivos que se organizan de acuerdo con el código de caracteres para cada letra/dígito. El personaje [0123456789] es otra forma de escribir el mismo valor de rango.

En el código proporcionado, primero importamos el módulo global para usar sus métodos. En la siguiente línea, un bucle for se atraviesa en la carpeta que se especifica con Glob con el comodín, [0-9]. Como no especificamos si el bucle es recursivo o no, no será recursivo de forma predeterminada. En el bucle for, imprimimos todos los elementos de la carpeta. Solo imprime los archivos que tienen cualquier dígito o número antes de su extensión como se muestra en la siguiente captura de pantalla:

Ejemplo 2: utilizando el método recursivo del global para localizar la fuente y el nombre de un archivo mencionado en el parámetro y no proporcionar condiciones a la función

Veremos qué ocurre si no se usan comodines en este ejemplo.

En el siguiente código, el módulo global se importa primero. En la siguiente línea, un bucle for se atraviesa a lo largo del mundo con una ruta de archivo. Tenga en cuenta que la ruta es del archivo en este caso, a diferencia de la carpeta en el caso anterior. Esto significa que solo hay un elemento para que coincida con el mundo. Y como podemos ver, no se usa ningún comodín; no tiene nada que comparar con. Como resultado, devuelve el archivo que se especificó que se puede ver en el terminal de salida en la siguiente captura de pantalla:

Ejemplo 3: Uso del método recursivo del globo en un programa de Python para imprimir el nombre y la fuente de todos los archivos presentes en el directorio dado

En este ejemplo, usaremos el comodín de asterisco "*" y veremos lo que devuelve.

En el código proporcionado, el primer módulo de globo se importa para usar sus métodos en nuestro código. En la siguiente línea, un bucle for se atraviesa en el globo con una ruta de carpeta especificada del "escritorio". El patrón coincide con cada ruta (archivo o directorio) en el directorio "de escritorio", pero no se recurre aún más, ya que no se dio el otro parámetro y, por defecto, no es recursivo. Imprime todos los elementos o archivos en la carpeta, ya que coincide con cero caracteres. Esto se muestra en la siguiente captura de pantalla:

Ejemplo 4: utilizando el método recursivo del globo para localizar la fuente y el nombre de un archivo mencionado en el parámetro y proporcionar una condición en la función junto con él

Otro comodín que es apoyado por Glob es "?". En esa posición, esto corresponde a cualquier elemento único en el nombre.

En este ejemplo, el módulo global se importa primero. En la siguiente línea, un bucle for se atraviesa en el globo con una ruta de archivo para que coincida con cualquier nombre de archivo en la carpeta de escritorio que comience con "aleatorio", contiene un carácter adicional de cualquier tipo, ya sea texto o dígito o cualquier carácter, y concluye con ".texto". Dado que ningún archivo cumplió con estos criterios, no se muestra nada en el terminal de salida como se muestra en la siguiente captura de pantalla:

Ejemplo 5: Uso del método recursivo del globo en un programa de Python para imprimir el nombre y la fuente de todos los archivos presentes en el directorio dado con un doble asterisco en la ruta junto con el conjunto de parámetros recursivos como verdaderos

En este ejemplo, aprenderemos sobre otro uso de comodines con Glob. Es un doble asterisco "**". Esto permite que el programa coincida recursivamente cero o más subdirectorios del directorio actual.

En el primer paso, se importa el módulo global. Entonces, el "Glob.El método de Glob "se requiere para una ruta de carpeta con un comodín" ** "" ** "y recursivo = verdadero. Esto permite que el programa coincida recursivamente cero o más subdirectorios del directorio actual y guarde la lista de archivos en la variable llamada "F". En la línea siguiente, A For Loop se atraviesa a lo largo de la lista de archivos en "F" y se muestra en el terminal de salida utilizando el comando de impresión como se muestra en la siguiente captura de pantalla:

Ejemplo 6: Uso de la función recursiva de Glob IGLOB en un programa de Python para encontrar el nombre y la fuente de todos los archivos presentes en el directorio dado con un doble asterisco en la ruta junto con el conjunto de parámetros recursivos como verdaderos

En este caso, realizaremos el truco idéntico que hicimos en el anterior. Sino en lugar de usar Glob.Glob, usaremos el globo.iglob (). La sintaxis para "Glob.Iglob ”es lo mismo que un globo.Glob: Glob.iglob (rathName, recursivo = falso). Excepto que produce un iterador, lo que significa que no todos los elementos se guardan en la memoria. Por lo tanto, puede usarse de una manera mucho más eficiente.

En el primer paso, se importa el módulo global. Entonces, el "Glob.El método de Glob "se requiere para una ruta de carpeta con un comodín" ** "" ** "y recursivo = verdadero. Esto permite que el programa coincida recursivamente cero o más subdirectorios del directorio actual. Esta vez, ninguna lista se guarda en ninguna variable. En la siguiente línea, el bucle for se atraviesa a lo largo de la ruta IGLOB con un puntero y se muestra en el terminal de salida usando el comando de impresión en cada bucle como se muestra en la siguiente captura de pantalla:

Conclusión

Glob () e Iglob () son dos funciones importantes que iteran a través de la ruta lineal o recursivamente en función del valor del segundo parámetro, que podría ser verdadero o falso. Python ha hecho tanto más efectivo como método, lo que lo hace mucho más valioso que cualquier otro enfoque manual. Con suerte, este artículo lo ayudó a comprender cómo funcionan estas funciones con sus diferentes comodines y cómo nos facilita la vida.