Cómo comprobar si una cadena termina con un sufijo en Python

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo comprobar si una cadena termina con un sufijo específico en Python utilizando el método endswith(). Esta habilidad es esencial para tareas como la identificación de tipos de archivos y la validación de datos.

El laboratorio te guía a través de la creación de un script de Python para comprobar los sufijos .pdf y .txt. Aprenderás cómo usar el método endswith() para determinar si una cadena termina con un sufijo en particular y cómo modificar el script para comprobar diferentes sufijos. Pasos adicionales explorarán la comprobación de múltiples sufijos.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/strings -.-> lab-559571{{"Cómo comprobar si una cadena termina con un sufijo en Python"}} python/conditional_statements -.-> lab-559571{{"Cómo comprobar si una cadena termina con un sufijo en Python"}} python/data_collections -.-> lab-559571{{"Cómo comprobar si una cadena termina con un sufijo en Python"}} end

Aprende sobre sufijos de cadenas

En este paso, aprenderás sobre los sufijos de cadenas y su importancia en la programación. Un sufijo de cadena es una subcadena que se encuentra al final de una cadena. Comprender los sufijos es crucial para tareas como la identificación de tipos de archivos, la validación de datos y el procesamiento de texto.

Comencemos creando un sencillo script de Python para ilustrar los sufijos de cadenas.

  1. Abre el editor de VS Code en el entorno de LabEx.

  2. Crea un nuevo archivo llamado suffix_example.py en el directorio ~/project.

    ~/project/suffix_example.py
  3. Añade el siguiente código de Python al archivo suffix_example.py:

    filename = "document.pdf"
    
    if filename.endswith(".pdf"):
        print("The file is a PDF document.")
    else:
        print("The file is not a PDF document.")

    Este código comprueba si la variable de cadena filename termina con el sufijo .pdf. El método endswith() se utiliza para este propósito.

  4. Guarda el archivo suffix_example.py.

  5. Ejecuta el script utilizando el comando python en la terminal:

    python suffix_example.py

    Deberías ver la siguiente salida:

    The file is a PDF document.

Ahora, modifiquemos el script para comprobar un sufijo diferente.

  1. Abre el archivo suffix_example.py en el editor de VS Code.

  2. Modifica el código para comprobar el sufijo .txt:

    filename = "document.txt"
    
    if filename.endswith(".txt"):
        print("The file is a text document.")
    else:
        print("The file is not a text document.")
  3. Guarda el archivo suffix_example.py.

  4. Ejecuta el script nuevamente:

    python suffix_example.py

    Deberías ver la siguiente salida:

    The file is a text document.

Esto demuestra cómo utilizar el método endswith() para comprobar sufijos específicos en cadenas. Esta es una técnica fundamental para muchas tareas de programación.

Utiliza el método endswith()

En este paso, profundizarás en el método endswith() y explorarás sus diversas aplicaciones. El método endswith() es una herramienta poderosa para comprobar si una cadena termina con un sufijo específico. Devuelve True si la cadena termina con el sufijo especificado y False en caso contrario.

Continuemos con el archivo suffix_example.py del paso anterior. Modificaremos el script para hacerlo más interactivo.

  1. Abre el archivo suffix_example.py en el editor de VS Code.

  2. Modifica el código para solicitar al usuario un nombre de archivo y luego comprobar si termina con .txt:

    filename = input("Enter a filename: ")
    
    if filename.endswith(".txt"):
        print("The file is a text document.")
    else:
        print("The file is not a text document.")

    Este código utiliza la función input() para obtener un nombre de archivo del usuario. Luego, utiliza el método endswith() para comprobar si el nombre de archivo termina con .txt.

  3. Guarda el archivo suffix_example.py.

  4. Ejecuta el script:

    python suffix_example.py

    El script te pedirá que ingreses un nombre de archivo.

    Enter a filename:
  5. Ingresa my_document.txt y presiona Enter. Deberías ver la siguiente salida:

    The file is a text document.
  6. Ejecuta el script nuevamente e ingresa my_document.pdf. Deberías ver la siguiente salida:

    The file is not a text document.

Ahora, exploremos la sensibilidad a mayúsculas y minúsculas del método endswith().

  1. Abre el archivo suffix_example.py en el editor de VS Code.

  2. Modifica el código para comprobar .TXT (en mayúsculas):

    filename = input("Enter a filename: ")
    
    if filename.endswith(".TXT"):
        print("The file is a text document (uppercase).")
    else:
        print("The file is not a text document (uppercase).")
  3. Guarda el archivo suffix_example.py.

  4. Ejecuta el script:

    python suffix_example.py
  5. Ingresa my_document.txt y presiona Enter. Deberías ver la siguiente salida:

    The file is not a text document (uppercase).

Esto demuestra que el método endswith() es sensible a mayúsculas y minúsculas. Para realizar una comprobación insensible a mayúsculas y minúsculas, puedes convertir la cadena a minúsculas utilizando el método lower() antes de usar endswith().

filename = input("Enter a filename: ")

if filename.lower().endswith(".txt"):
    print("The file is a text document (case-insensitive).")
else:
    print("The file is not a text document (case-insensitive).")

Este código modificado identificará correctamente my_document.txt como un documento de texto, independientemente de las mayúsculas y minúsculas del sufijo.

Comprobar múltiples sufijos

En este paso, aprenderás cómo comprobar si una cadena termina con cualquiera de múltiples sufijos. Esto es útil cuando quieres identificar archivos basados en una lista de posibles extensiones.

Modifiquemos el archivo suffix_example.py para comprobar múltiples sufijos.

  1. Abre el archivo suffix_example.py en el editor de VS Code.

  2. Modifica el código para comprobar si el nombre de archivo termina con .txt o .pdf:

    filename = input("Enter a filename: ")
    suffixes = (".txt", ".pdf")
    
    if filename.endswith(suffixes):
        print("The file is either a text document or a PDF document.")
    else:
        print("The file is neither a text document nor a PDF document.")

    En este código, definimos una tupla llamada suffixes que contiene los sufijos que queremos comprobar. El método endswith() puede aceptar una tupla de sufijos como argumento.

  3. Guarda el archivo suffix_example.py.

  4. Ejecuta el script:

    python suffix_example.py

    El script te pedirá que ingreses un nombre de archivo.

    Enter a filename:
  5. Ingresa my_document.txt y presiona Enter. Deberías ver la siguiente salida:

    The file is either a text document or a PDF document.
  6. Ejecuta el script nuevamente e ingresa my_document.pdf. Deberías ver la siguiente salida:

    The file is either a text document or a PDF document.
  7. Ejecuta el script nuevamente e ingresa my_document.docx. Deberías ver la siguiente salida:

    The file is neither a text document nor a PDF document.

Ahora, agreguemos otro sufijo a la tupla.

  1. Abre el archivo suffix_example.py en el editor de VS Code.

  2. Modifica el código para comprobar si el nombre de archivo termina con .txt, .pdf o .docx:

    filename = input("Enter a filename: ")
    suffixes = (".txt", ".pdf", ".docx")
    
    if filename.endswith(suffixes):
        print("The file is either a text document, a PDF document, or a Word document.")
    else:
        print("The file is neither a text document, a PDF document, nor a Word document.")
  3. Guarda el archivo suffix_example.py.

  4. Ejecuta el script:

    python suffix_example.py
  5. Ingresa my_document.docx y presiona Enter. Deberías ver la siguiente salida:

    The file is either a text document, a PDF document, or a Word document.

Esto demuestra cómo usar el método endswith() con una tupla de sufijos para comprobar múltiples posibles tipos de archivos.

Resumen

En este laboratorio, aprendiste sobre los sufijos de cadenas y su importancia en la programación, especialmente para tareas como la identificación de tipos de archivos. Creaste un script de Python utilizando el método endswith() para comprobar si una cadena de nombre de archivo termina con sufijos específicos como ".pdf" y ".txt".

El laboratorio demostró cómo modificar el script para comprobar diferentes sufijos y verificó la salida en cada caso, ilustrando la técnica fundamental de usar endswith() para la validación de sufijos de cadenas.