Wie man prüft, ob ein String in Python mit einem Suffix endet

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie in Python überprüfen können, ob ein String mit einem bestimmten Suffix endet, indem Sie die Methode endswith() verwenden. Diese Fähigkeit ist für Aufgaben wie die Dateitypidentifizierung und die Datenvalidierung unerlässlich.

Das Lab führt Sie durch den Prozess der Erstellung eines Python-Skripts zur Überprüfung auf die Suffixe .pdf und .txt. Sie lernen, wie Sie die Methode endswith() nutzen, um festzustellen, ob ein String mit einem bestimmten Suffix endet, und wie Sie das Skript anpassen können, um nach verschiedenen Suffixen zu suchen. In weiteren Schritten wird die Überprüfung auf mehrere Suffixe untersucht.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) 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{{"Wie man prüft, ob ein String in Python mit einem Suffix endet"}} python/conditional_statements -.-> lab-559571{{"Wie man prüft, ob ein String in Python mit einem Suffix endet"}} python/data_collections -.-> lab-559571{{"Wie man prüft, ob ein String in Python mit einem Suffix endet"}} end

Über String-Suffixe lernen

In diesem Schritt lernen Sie über String-Suffixe und ihre Bedeutung in der Programmierung. Ein String-Suffix ist ein Teilstring, der am Ende eines Strings auftritt. Das Verständnis von Suffixen ist für Aufgaben wie die Dateitypidentifizierung, die Datenvalidierung und die Textverarbeitung von entscheidender Bedeutung.

Beginnen wir damit, ein einfaches Python-Skript zu erstellen, um String-Suffixe zu veranschaulichen.

  1. Öffnen Sie den VS Code-Editor in der LabEx-Umgebung.

  2. Erstellen Sie eine neue Datei mit dem Namen suffix_example.py im Verzeichnis ~/project.

    ~/project/suffix_example.py
  3. Fügen Sie den folgenden Python-Code zur Datei suffix_example.py hinzu:

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

    Dieser Code überprüft, ob die String-Variable filename mit dem Suffix .pdf endet. Die Methode endswith() wird zu diesem Zweck verwendet.

  4. Speichern Sie die Datei suffix_example.py.

  5. Führen Sie das Skript mit dem Befehl python im Terminal aus:

    python suffix_example.py

    Sie sollten die folgende Ausgabe sehen:

    The file is a PDF document.

Lassen Sie uns nun das Skript ändern, um nach einem anderen Suffix zu suchen.

  1. Öffnen Sie die Datei suffix_example.py im VS Code-Editor.

  2. Ändern Sie den Code, um nach dem Suffix .txt zu suchen:

    filename = "document.txt"
    
    if filename.endswith(".txt"):
        print("The file is a text document.")
    else:
        print("The file is not a text document.")
  3. Speichern Sie die Datei suffix_example.py.

  4. Führen Sie das Skript erneut aus:

    python suffix_example.py

    Sie sollten die folgende Ausgabe sehen:

    The file is a text document.

Dies zeigt, wie Sie die Methode endswith() verwenden können, um nach bestimmten Suffixen in Strings zu suchen. Dies ist eine grundlegende Technik für viele Programmieraufgaben.

Verwendung der endswith()-Methode

In diesem Schritt werden Sie tiefer in die endswith()-Methode eintauchen und ihre verschiedenen Anwendungen erkunden. Die endswith()-Methode ist ein leistungsstarkes Werkzeug, um zu überprüfen, ob ein String mit einem bestimmten Suffix endet. Sie gibt True zurück, wenn der String mit dem angegebenen Suffix endet, und False sonst.

Lassen Sie uns mit der Datei suffix_example.py aus dem vorherigen Schritt fortfahren. Wir werden das Skript ändern, um es interaktiver zu gestalten.

  1. Öffnen Sie die Datei suffix_example.py im VS Code-Editor.

  2. Ändern Sie den Code, um den Benutzer nach einem Dateinamen zu fragen und dann zu überprüfen, ob er mit .txt endet:

    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.")

    Dieser Code verwendet die input()-Funktion, um einen Dateinamen vom Benutzer zu erhalten. Dann verwendet er die endswith()-Methode, um zu überprüfen, ob der Dateiname mit .txt endet.

  3. Speichern Sie die Datei suffix_example.py.

  4. Führen Sie das Skript aus:

    python suffix_example.py

    Das Skript wird Sie auffordern, einen Dateinamen einzugeben.

    Enter a filename:
  5. Geben Sie my_document.txt ein und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

    The file is a text document.
  6. Führen Sie das Skript erneut aus und geben Sie my_document.pdf ein. Sie sollten die folgende Ausgabe sehen:

    The file is not a text document.

Lassen Sie uns nun die Groß- und Kleinschreibungssensitivität der endswith()-Methode untersuchen.

  1. Öffnen Sie die Datei suffix_example.py im VS Code-Editor.

  2. Ändern Sie den Code, um nach .TXT (Großschreibung) zu suchen:

    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. Speichern Sie die Datei suffix_example.py.

  4. Führen Sie das Skript aus:

    python suffix_example.py
  5. Geben Sie my_document.txt ein und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

    The file is not a text document (uppercase).

Dies zeigt, dass die endswith()-Methode auf Groß- und Kleinschreibung sensitiv ist. Um eine Groß- und Kleinschreibung-unabhängige Überprüfung durchzuführen, können Sie den String mit der lower()-Methode in Kleinbuchstaben umwandeln, bevor Sie endswith() verwenden.

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).")

Dieser geänderte Code wird my_document.txt korrekt als Textdokument identifizieren, unabhängig von der Groß- oder Kleinschreibung des Suffixes.

Prüfen auf mehrere Suffixe

In diesem Schritt lernen Sie, wie Sie prüfen können, ob ein String mit einem beliebigen der mehreren Suffixe endet. Dies ist nützlich, wenn Sie Dateien anhand einer Liste möglicher Dateierweiterungen identifizieren möchten.

Lassen Sie uns die Datei suffix_example.py ändern, um auf mehrere Suffixe zu prüfen.

  1. Öffnen Sie die Datei suffix_example.py im VS Code-Editor.

  2. Ändern Sie den Code, um zu prüfen, ob der Dateiname entweder mit .txt oder .pdf endet:

    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.")

    In diesem Code definieren wir ein Tupel namens suffixes, das die Suffixe enthält, auf die wir prüfen möchten. Die endswith()-Methode kann ein Tupel von Suffixen als Argument akzeptieren.

  3. Speichern Sie die Datei suffix_example.py.

  4. Führen Sie das Skript aus:

    python suffix_example.py

    Das Skript wird Sie auffordern, einen Dateinamen einzugeben.

    Enter a filename:
  5. Geben Sie my_document.txt ein und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

    The file is either a text document or a PDF document.
  6. Führen Sie das Skript erneut aus und geben Sie my_document.pdf ein. Sie sollten die folgende Ausgabe sehen:

    The file is either a text document or a PDF document.
  7. Führen Sie das Skript erneut aus und geben Sie my_document.docx ein. Sie sollten die folgende Ausgabe sehen:

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

Lassen Sie uns nun ein weiteres Suffix zum Tupel hinzufügen.

  1. Öffnen Sie die Datei suffix_example.py im VS Code-Editor.

  2. Ändern Sie den Code, um zu prüfen, ob der Dateiname mit .txt, .pdf oder .docx endet:

    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. Speichern Sie die Datei suffix_example.py.

  4. Führen Sie das Skript aus:

    python suffix_example.py
  5. Geben Sie my_document.docx ein und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

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

Dies zeigt, wie Sie die endswith()-Methode mit einem Tupel von Suffixen verwenden können, um auf mehrere mögliche Dateitypen zu prüfen.

Zusammenfassung

In diesem Lab haben Sie sich mit String-Suffixen und ihrer Bedeutung in der Programmierung befasst, insbesondere für Aufgaben wie die Identifizierung von Dateitypen. Sie haben ein Python-Skript erstellt, das die endswith()-Methode verwendet, um zu prüfen, ob ein Dateinamen-String mit bestimmten Suffixen wie ".pdf" und ".txt" endet.

Das Lab hat gezeigt, wie Sie das Skript ändern können, um auf verschiedene Suffixe zu prüfen, und die Ausgabe in jedem Fall überprüft. Dadurch wurde die grundlegende Technik der Verwendung von endswith() zur Validierung von String-Suffixen veranschaulicht.