Comment vérifier si une chaîne de caractères se termine par un suffixe en Python

PythonPythonBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à vérifier si une chaîne de caractères se termine par un suffixe spécifique en Python en utilisant la méthode endswith(). Cette compétence est essentielle pour des tâches telles que l'identification du type de fichier et la validation des données.

Le laboratoire vous guide dans la création d'un script Python pour vérifier les suffixes .pdf et .txt. Vous apprendrez à utiliser la méthode endswith() pour déterminer si une chaîne de caractères se termine par un suffixe particulier et à modifier le script pour vérifier différents suffixes. Des étapes supplémentaires exploreront la vérification de plusieurs suffixes.


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{{"Comment vérifier si une chaîne de caractères se termine par un suffixe en Python"}} python/conditional_statements -.-> lab-559571{{"Comment vérifier si une chaîne de caractères se termine par un suffixe en Python"}} python/data_collections -.-> lab-559571{{"Comment vérifier si une chaîne de caractères se termine par un suffixe en Python"}} end

Apprenez-en sur les suffixes de chaînes de caractères

Dans cette étape, vous apprendrez ce qu'est un suffixe de chaîne de caractères et son importance en programmation. Un suffixe de chaîne de caractères est une sous-chaîne qui apparaît à la fin d'une chaîne. Comprendre les suffixes est crucial pour des tâches telles que l'identification du type de fichier, la validation des données et le traitement de texte.

Commençons par créer un simple script Python pour illustrer les suffixes de chaînes de caractères.

  1. Ouvrez l'éditeur VS Code dans l'environnement LabEx.

  2. Créez un nouveau fichier nommé suffix_example.py dans le répertoire ~/project.

    ~/project/suffix_example.py
  3. Ajoutez le code Python suivant au fichier 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.")

    Ce code vérifie si la variable de chaîne filename se termine par le suffixe .pdf. La méthode endswith() est utilisée à cet effet.

  4. Enregistrez le fichier suffix_example.py.

  5. Exécutez le script en utilisant la commande python dans le terminal :

    python suffix_example.py

    Vous devriez voir la sortie suivante :

    The file is a PDF document.

Maintenant, modifions le script pour vérifier un autre suffixe.

  1. Ouvrez le fichier suffix_example.py dans l'éditeur VS Code.

  2. Modifiez le code pour vérifier le suffixe .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. Enregistrez le fichier suffix_example.py.

  4. Exécutez le script à nouveau :

    python suffix_example.py

    Vous devriez voir la sortie suivante :

    The file is a text document.

Cela démontre comment utiliser la méthode endswith() pour vérifier des suffixes spécifiques dans les chaînes de caractères. C'est une technique fondamentale pour de nombreuses tâches de programmation.

Utilisation de la méthode endswith()

Dans cette étape, vous approfondirez votre connaissance de la méthode endswith() et explorerez ses diverses applications. La méthode endswith() est un outil puissant pour vérifier si une chaîne de caractères se termine par un suffixe spécifique. Elle retourne True si la chaîne se termine par le suffixe spécifié, et False dans le cas contraire.

Continuons avec le fichier suffix_example.py de l'étape précédente. Nous allons modifier le script pour le rendre plus interactif.

  1. Ouvrez le fichier suffix_example.py dans l'éditeur VS Code.

  2. Modifiez le code pour inviter l'utilisateur à saisir un nom de fichier, puis vérifiez s'il se termine par .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.")

    Ce code utilise la fonction input() pour obtenir un nom de fichier de l'utilisateur. Ensuite, il utilise la méthode endswith() pour vérifier si le nom de fichier se termine par .txt.

  3. Enregistrez le fichier suffix_example.py.

  4. Exécutez le script :

    python suffix_example.py

    Le script vous invitera à saisir un nom de fichier.

    Enter a filename:
  5. Entrez my_document.txt puis appuyez sur Entrée. Vous devriez voir la sortie suivante :

    The file is a text document.
  6. Exécutez le script à nouveau et entrez my_document.pdf. Vous devriez voir la sortie suivante :

    The file is not a text document.

Maintenant, explorons la sensibilité à la casse de la méthode endswith().

  1. Ouvrez le fichier suffix_example.py dans l'éditeur VS Code.

  2. Modifiez le code pour vérifier .TXT (en majuscules) :

    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. Enregistrez le fichier suffix_example.py.

  4. Exécutez le script :

    python suffix_example.py
  5. Entrez my_document.txt puis appuyez sur Entrée. Vous devriez voir la sortie suivante :

    The file is not a text document (uppercase).

Cela démontre que la méthode endswith() est sensible à la casse. Pour effectuer une vérification insensible à la casse, vous pouvez convertir la chaîne en minuscules à l'aide de la méthode lower() avant d'utiliser 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).")

Ce code modifié identifiera correctement my_document.txt comme un document texte, quelle que soit la casse du suffixe.

Vérifier plusieurs suffixes

Dans cette étape, vous apprendrez à vérifier si une chaîne de caractères se termine par l'un des plusieurs suffixes. Cela est utile lorsque vous souhaitez identifier des fichiers en fonction d'une liste d'extensions possibles.

Modifions le fichier suffix_example.py pour vérifier plusieurs suffixes.

  1. Ouvrez le fichier suffix_example.py dans l'éditeur VS Code.

  2. Modifiez le code pour vérifier si le nom de fichier se termine par .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.")

    Dans ce code, nous définissons un tuple appelé suffixes contenant les suffixes que nous souhaitons vérifier. La méthode endswith() peut accepter un tuple de suffixes comme argument.

  3. Enregistrez le fichier suffix_example.py.

  4. Exécutez le script :

    python suffix_example.py

    Le script vous invitera à saisir un nom de fichier.

    Enter a filename:
  5. Entrez my_document.txt puis appuyez sur Entrée. Vous devriez voir la sortie suivante :

    The file is either a text document or a PDF document.
  6. Exécutez le script à nouveau et entrez my_document.pdf. Vous devriez voir la sortie suivante :

    The file is either a text document or a PDF document.
  7. Exécutez le script à nouveau et entrez my_document.docx. Vous devriez voir la sortie suivante :

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

Maintenant, ajoutons un autre suffixe au tuple.

  1. Ouvrez le fichier suffix_example.py dans l'éditeur VS Code.

  2. Modifiez le code pour vérifier si le nom de fichier se termine par .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. Enregistrez le fichier suffix_example.py.

  4. Exécutez le script :

    python suffix_example.py
  5. Entrez my_document.docx puis appuyez sur Entrée. Vous devriez voir la sortie suivante :

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

Cela démontre comment utiliser la méthode endswith() avec un tuple de suffixes pour vérifier plusieurs types de fichiers possibles.

Résumé

Dans ce laboratoire (lab), vous avez appris à connaître les suffixes de chaînes de caractères et leur importance en programmation, notamment pour des tâches telles que l'identification du type de fichier. Vous avez créé un script Python en utilisant la méthode endswith() pour vérifier si une chaîne représentant un nom de fichier se termine par des suffixes spécifiques tels que ".pdf" et ".txt".

Le laboratoire a démontré comment modifier le script pour vérifier différents suffixes et a validé la sortie dans chaque cas, illustrant la technique fondamentale d'utilisation de endswith() pour la validation des suffixes de chaînes de caractères.