Como Verificar se uma String Termina com um Sufixo em Python

PythonBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se uma string termina com um sufixo específico em Python usando o método endswith(). Essa habilidade é essencial para tarefas como identificação de tipo de arquivo e validação de dados.

O laboratório guia você na criação de um script Python para verificar os sufixos .pdf e .txt. Você aprenderá como usar o método endswith() para determinar se uma string termina com um sufixo específico e como modificar o script para verificar diferentes sufixos. Etapas adicionais explorarão a verificação de múltiplos sufixos.

Aprenda sobre Sufixos de Strings

Nesta etapa, você aprenderá sobre sufixos de string e sua importância na programação. Um sufixo de string é uma substring que ocorre no final de uma string. Compreender sufixos é crucial para tarefas como identificação de tipo de arquivo, validação de dados e processamento de texto.

Vamos começar criando um script Python simples para ilustrar sufixos de string.

  1. Abra o editor VS Code no ambiente LabEx.

  2. Crie um novo arquivo chamado suffix_example.py no diretório ~/project.

    ~/project/suffix_example.py
  3. Adicione o seguinte código Python ao arquivo 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 verifica se a variável de string filename termina com o sufixo .pdf. O método endswith() é usado para este fim.

  4. Salve o arquivo suffix_example.py.

  5. Execute o script usando o comando python no terminal:

    python suffix_example.py

    Você deve ver a seguinte saída:

    The file is a PDF document.

Agora, vamos modificar o script para verificar um sufixo diferente.

  1. Abra o arquivo suffix_example.py no editor VS Code.

  2. Modifique o código para verificar o sufixo .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. Salve o arquivo suffix_example.py.

  4. Execute o script novamente:

    python suffix_example.py

    Você deve ver a seguinte saída:

    The file is a text document.

Isso demonstra como usar o método endswith() para verificar sufixos específicos em strings. Esta é uma técnica fundamental para muitas tarefas de programação.

Use o Método endswith()

Nesta etapa, você se aprofundará no método endswith() e explorará suas diversas aplicações. O método endswith() é uma ferramenta poderosa para verificar se uma string termina com um sufixo específico. Ele retorna True se a string termina com o sufixo especificado e False caso contrário.

Vamos continuar com o arquivo suffix_example.py da etapa anterior. Modificaremos o script para torná-lo mais interativo.

  1. Abra o arquivo suffix_example.py no editor VS Code.

  2. Modifique o código para solicitar ao usuário um nome de arquivo e, em seguida, verificar se ele termina com .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 usa a função input() para obter um nome de arquivo do usuário. Em seguida, ele usa o método endswith() para verificar se o nome do arquivo termina com .txt.

  3. Salve o arquivo suffix_example.py.

  4. Execute o script:

    python suffix_example.py

    O script solicitará que você insira um nome de arquivo.

    Enter a filename:
  5. Insira my_document.txt e pressione Enter. Você deve ver a seguinte saída:

    The file is a text document.
  6. Execute o script novamente e insira my_document.pdf. Você deve ver a seguinte saída:

    The file is not a text document.

Agora, vamos explorar a sensibilidade a maiúsculas e minúsculas do método endswith().

  1. Abra o arquivo suffix_example.py no editor VS Code.

  2. Modifique o código para verificar .TXT (maiú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. Salve o arquivo suffix_example.py.

  4. Execute o script:

    python suffix_example.py
  5. Insira my_document.txt e pressione Enter. Você deve ver a seguinte saída:

    The file is not a text document (uppercase).

Isso demonstra que o método endswith() é sensível a maiúsculas e minúsculas. Para realizar uma verificação que não diferencia maiúsculas e minúsculas, você pode converter a string para minúsculas usando o 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á corretamente my_document.txt como um documento de texto, independentemente do caso do sufixo.

Verifique Múltiplos Sufixos

Nesta etapa, você aprenderá como verificar se uma string termina com qualquer um de vários sufixos. Isso é útil quando você deseja identificar arquivos com base em uma lista de extensões possíveis.

Vamos modificar o arquivo suffix_example.py para verificar múltiplos sufixos.

  1. Abra o arquivo suffix_example.py no editor VS Code.

  2. Modifique o código para verificar se o nome do arquivo termina com .txt ou .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.")

    Neste código, definimos uma tupla chamada suffixes contendo os sufixos que queremos verificar. O método endswith() pode aceitar uma tupla de sufixos como argumento.

  3. Salve o arquivo suffix_example.py.

  4. Execute o script:

    python suffix_example.py

    O script solicitará que você insira um nome de arquivo.

    Enter a filename:
  5. Insira my_document.txt e pressione Enter. Você deve ver a seguinte saída:

    The file is either a text document or a PDF document.
  6. Execute o script novamente e insira my_document.pdf. Você deve ver a seguinte saída:

    The file is either a text document or a PDF document.
  7. Execute o script novamente e insira my_document.docx. Você deve ver a seguinte saída:

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

Agora, vamos adicionar outro sufixo à tupla.

  1. Abra o arquivo suffix_example.py no editor VS Code.

  2. Modifique o código para verificar se o nome do arquivo termina com .txt, .pdf ou .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. Salve o arquivo suffix_example.py.

  4. Execute o script:

    python suffix_example.py
  5. Insira my_document.docx e pressione Enter. Você deve ver a seguinte saída:

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

Isso demonstra como usar o método endswith() com uma tupla de sufixos para verificar múltiplos tipos de arquivo possíveis.

Resumo

Neste laboratório, você aprendeu sobre sufixos de strings e sua importância na programação, particularmente para tarefas como identificação de tipos de arquivo. Você criou um script Python usando o método endswith() para verificar se uma string de nome de arquivo termina com sufixos específicos como ".pdf" e ".txt".

O laboratório demonstrou como modificar o script para verificar diferentes sufixos e verificou a saída em cada caso, ilustrando a técnica fundamental de usar endswith() para validação de sufixos de strings.