Empfohlene Unterrichtsinhalte als Vorbereitung für dieses Thema: 01-03 (Variablen), 02-01 (Strings), 02-02 (Listen), 03-02 (Bedingungen), 03-03 (Schleifen), 04-02 (Dateien schreiben)

Einführung in die computerlinguistische Programmierung mit Python

04-03: Dateien lesen 📁

Unser Ziel beim Programmieren ist es, Logik von Inhalten zu trennen. Deshalb schreiben wir zum Beispiel Schleifen, die automatisch eine ganze Sequenz von Elementen verarbeiten, statt per Hand die Verarbeitung jedes einzelnen Elements zu programmieren.

Für eine noch stärkere Trennung zwischen Logik und Inhalt können wir sorgen, indem wir Inhalte aus einer Datei lesen.

Um eine existierende Datei in unserem Pythoncode zu öffnen, verwenden wir den Code unten. Wie schon beim Schreiben von Dateien geben wir auch hier wieder das Encoding an, das für die Darstellung der Zeichen zuständig ist.

Die Variable filename ist ein String, in den wir den Pfad zur Datei eintragen.

Die Zeile, die mit with beginnt, öffnet unsere Datei mit dem Befehl open(). Der Befehl hat zwei Argumente, die wir in den Klammern auflisten:

  1. Ein String, der den Pfad zur Datei angibt. Bei uns ist das die Variable mit dem entsprechenden Inhalt.
  2. Ein Modus, in dem wir die Datei öffnen wollen. Wir verwenden hier den Modus "r" wie read (lesen).

Die Zeilen unter with sind eingerückt. Nach dem eingerückten Block wird die Datei automatisch geschlossen. Wir können dann nicht mehr auf ihren Inhalt zugreifen!

Innerhalb des with-Blocks im Beispiel ist eine Schleife zu sehen, mit der wir durch den Inhalt der Datei iterieren. Dabei wird jede Zeile als String aus der Datei gelesen und kann mit unseren verfügbaren Stringmethoden weiterverarbeitet werden.

Die allgemeine Form des Codes zum Öffnen einer Datei im Lesemodus sieht so aus:

with open(<dateiname>, "r") as <dateivariable>:
    for <laufvariable> in <dateivariable>:
        ...

Wie man sieht, können Einrückungsblöcke ineinander verschachtelt werden. Man rückt dann die eingebetteten Blöcke einfach etwas weiter ein. Wichtig ist, dass alle Zeilen auf der gleichen logischen Ebene genau die gleiche Einrückung haben.

Zusammenfassung

Weitere Themen dieser Woche