Programa de Python para encontrar archivos que tengan una extensión particular usando RegEx

Requisito previo: expresión regular en Python

Muchas veces necesitamos buscar un tipo de archivo en particular de una lista de diferentes tipos de archivos. Y podemos hacerlo con solo unas pocas líneas de código usando python. Y lo bueno es que no necesitamos instalar ningún paquete externo, python tiene un paquete integrado llamado re , con el que podemos escribir fácilmente el programa para realizar esta tarea.

Acercarse:

  • Este programa busca los archivos que tienen la extensión «.xml» de una lista de archivos diferentes.
  • Haz una expresión/patrón regular: “\.xml$”
  • Aquí la función re.search() se usa para buscar una coincidencia en cualquier parte de la string (nombre del archivo). Básicamente, devuelve el objeto de coincidencia cuando se encuentra el patrón y, si no se encuentra el patrón, devuelve nulo.
  • La funcionalidad de los diferentes metacaracteres utilizados aquí:
  1.  \ Se utiliza para especificar un significado especial de carácter después de él. También se utiliza para escapar de caracteres especiales.
  2.  $La string termina con el patrón anterior.
  • Aquí se busca y procesa el patrón “.xml”.
  • A continuación se muestra la implementación:

    Python3

    # import library
    import re
      
    # list of different types of file
    filenames = ["gfg.html", "geeks.xml", 
                "computer.txt", "geeksforgeeks.jpg"]
      
    for file in filenames:
        # search given pattern in the line 
        match = re.search("\.xml$", file)
      
        # if match is found
        if match:
            print("The file ending with .xml is:",
                 file)
    

    Producción:

    The file ending with .xml is: geeks.xml

    Publicación traducida automáticamente

    Artículo escrito por yuvraj_chandra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *