Im Lieferungen In früheren Lektionen dieses Python-Programmierkurses unter Linux haben wir gesehen, dass Daten aus Listen, Tupeln und Wörterbüchern eingegeben werden können oder dass der Benutzer sie manuell eingeben muss. Nun werden wir sehen, wie das Lesen und Speichern von Dateien funktioniert.
Durch den Import der notwendigen Module kann Python verschiedene Dateiformate lesen, erstellen und schreiben, darunter die der gängigsten Office-Suiten und PDF; jedoch In diesem Beitrag bleiben wir vorerst bei Textdateien.
Python-Programmierkurs unter Linux. Teil 14.
Einfache Textdateien sind die einfachste Art, Daten zu speichern.s. Hierbei handelt es sich um Buchstaben, Zahlen, Symbole und Leerzeichen, die ohne Formatierung in Zeilen gespeichert sind. Dieser Dateityp wird beispielsweise mit Programmen wie Gedit, Kate oder dem Windows-Editor erstellt.
Es ist mit den meisten Programmen und Programmiersprachen kompatibel. Das Klartextformat wird verwendet, um einfache Informationen wie Einstellungen, Aktivitätsprotokolle, Listen oder Programmausführungsergebnisse zu speichern.
Python beinhaltet bei der Installation die grundlegenden Befehle für die Arbeit mit Textdateien, einschließlich Öffnen, Lesen, Schreiben und Schließen.
Die open()-Funktion
Diese Funktion benötigt zwei Parameter: den Dateinamen und einen der folgenden:
- r: Eine vorhandene Datei lesen.
- wPrüft, ob die Datei existiert, erstellt sie, falls sie nicht existiert, und überschreibt ihren Inhalt, falls sie existiert.
- r+: Es kombiniert das Lesen und Schreiben der Datei.
- a: Schreiben Sie unten den Dateiinhalt.
Zum Beispiel diese Anweisung:
archivo = open("archivo.txt", "r")
- Öffnen Sie die Datei und lesen Sie ihren Inhalt.
- Die Variable speichert das Objekt, das die Funktion open beim Öffnen der Datei erzeugt.
Mit diesem Programm öffnen wir die Datei, lesen und drucken ihren Inhalt und schließen die Datei.
archivo = open("archivo.txt", "r")
contenido = archivo.read()
print(contenido)
archivo.close()
Dieses Programm
- Öffnen Sie die Datei im Lesemodus und weisen Sie das Objekt der Dateivariablen zu.
- Die der Dateiobjektvariablen zugewiesene Methode `read` liest den Inhalt mit der Methode `read` und weist ihn der Variable `content` zu.
- Gibt den in der Variable „content“ gespeicherten Inhalt aus.
- Schließen Sie die Datei.
Schauen wir uns nun eine andere Möglichkeit an, den Inhalt einer Datei zu lesen;
In diesem Fall verwenden wir eine andere Methode namens readlines.
- Das Programm öffnet die Datei im Lesemodus, erstellt das Objekt und weist es der Dateivariablen zu.
- Die Funktion file.readlines erstellt eine Liste mit allen Zeilen der Textdatei und weist diese der Variablen lines zu.
- Die Schleife gibt die Details zeilenweise aus. Da einfache Texteditoren ein Sonderzeichen für Zeilenumbrüche verwenden, entfernt die Strip-Methode dieses Zeichen aus der Ausgabe.
- Die Datei ist geschlossen.
Mit einem solchen Programm können wir eine Datei schreiben.
archivo = open("archivo.txt", "w")
archivo.write("Hola, estamos escribiendo un archivo.\n")
archivo.write("usando un programa en Python.")
archivo.close()
- Das Programm öffnet eine Datei oder erstellt sie, falls sie nicht existiert, erzeugt ein Objekt und weist es der Dateivariablen zu.
- Schreiben Sie die erste Zeile, indem Sie die write-Methode der Dateivariablen hinzufügen. .\n bedeutet, dass ein Zeilenumbruch erfolgen soll.
- Schreibe die zweite Zeile.
- Schließen Sie die Datei.
Eine weitere Methode zum Schreiben in eine Datei:
archivo = open("archivo.txt", "a")
archivo.write("Voy a agregar una línea más.")
archivo.close()
Dieses Programm öffnet die Datei unter Verwendung des Parameters 'a', um anzugeben, dass der Text nach dem aktuellen Text eingefügt werden soll.
Versuchen wir es mit einem kombinierten Beispiel:
Dieses Programm führt folgende Aktionen aus:
- Erstellen Sie die Datei distributions.txt im Schreibmodus, erstellen Sie ein Objekt, mit dem Python arbeiten kann, und weisen Sie es der Variablen file zu.
- Schreiben Sie die Namen von drei Distributionen in die Datei, gefolgt von einem Zeilenumbruch, sodass sie in Spalten angeordnet sind.
- Schließen Sie die Datei.
- Öffne die Datei im Lesemodus, erstelle das Objekt, mit dem Python arbeiten kann, und weise es der Dateivariablen zu.
- Gibt auf dem Bildschirm die Meldung aus, dass der Inhalt der Datei angezeigt wird.
- Die Schleife liest den Inhalt der Datei zeilenweise.
- Gibt zeilenweise aus, wobei das Zeilenumbruchzeichen ausgelassen wird.
- Datei schließen.
Fehlerbehandlung
Häufig können aufgrund von Programmier- oder Benutzerfehlern Situationen auftreten, die die weitere Ausführung des Programms verhindern. Python bricht die Ausführung in der Regel ab und zeigt eine Fehlermeldung an. Es gibt jedoch Möglichkeiten, dies zu verhindern. Dies nennt man Ausnahmebehandlung.
Python verfügt über einen Mechanismus zur Behandlung von Problemen (oder Ausnahmesituationen), der als try-except-Block bekannt ist.Der `try`-Block enthält den Code, den Python dem Fehler zuweist, und der `except`-Block enthält den Code, der zur Behandlung dieses Fehlers verwendet werden soll. Ein Fehler wäre beispielsweise der Versuch, eine nicht existierende Datei zu öffnen oder in eine Datei zu schreiben, für die das Programm nicht über ausreichende Berechtigungen verfügt.
- Wir beginnen den Codeblock, den Python ausführen soll, mit der try-Anweisung.
- Wir öffnen die Datei (vorausgesetzt, sie existiert) im Lesemodus.
- Wir weisen den Dateiinhalt der Variablen „content“ zu.
- Wir drucken den Titel „Dateiinhalt“.
- Wir drucken den Inhalt.
- Wir haben die Akte geschlossen.
- Wenn das Programm die Datei nicht finden kann, werden zwei Meldungen angezeigt, die darauf hinweisen, dass die Datei nicht existiert und dass wir den Namen überprüfen sollten.
Die häufigsten Fehlertypen:
- Wertfehler: Es wird versucht, einen ungültigen Wert in einer Operation oder Funktion zu verwenden.
- Typfehler: Es wird versucht, einen ungültigen Datentyp in einer Operation oder Funktion zu verwenden.
- Indexfehler: Sie möchten auf einen nicht existierenden Index in einer Liste oder einem Tupel zugreifen.
- SchlüsselfehlerEs wird versucht, auf einen Schlüssel zuzugreifen, der in einem Wörterbuch nicht existiert.
- FileNotFoundErrorEs wird versucht, auf eine nicht existierende Datei zuzugreifen.
- ZeroDivisionError: Es wird versucht, eine Zahl durch Null zu teilen.
- AttributeError: Es wird versucht, auf ein nicht existierendes Attribut eines Objekts zuzugreifen.
- ImportfehlerDies geschieht, wenn Sie versuchen, ein Modul zu importieren, das nicht existiert, oder wenn während eines Imports Fehler auftreten.
In zukünftigen Artikeln werden wir diesen Kurs fortsetzen.