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.
-
Abra o arquivo suffix_example.py no editor VS Code.
-
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.
-
Salve o arquivo suffix_example.py.
-
Execute o script:
python suffix_example.py
O script solicitará que você insira um nome de arquivo.
Enter a filename:
-
Insira my_document.txt e pressione Enter. Você deve ver a seguinte saída:
The file is a text document.
-
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().
-
Abra o arquivo suffix_example.py no editor VS Code.
-
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).")
-
Salve o arquivo suffix_example.py.
-
Execute o script:
python suffix_example.py
-
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.