Python Datei-Handling meistern: Textdateien erstellen, lesen, schreiben und öffnen
Python Datei-Handling meistern: Textdateien erstellen, lesen, schreiben und öffnen
Python Datei-Handling
In Python ist keine externe Bibliothek zum Lesen und Schreiben von Dateien nötig. Python stellt eine eingebaute Funktion für das Erstellen, Schreiben und Lesen von Dateien bereit.
In diesem Datei-Handling-Tutorial lernen wir:
- Wie man eine Textdatei in Python öffnet
- Wie man eine Textdatei in Python erstellt
- Wie man Text an eine Datei anhängt
- Wie man Dateien in Python liest
- Wie man eine Datei zeilenweise in Python liest
- Dateimodi in Python
Wie man eine Textdatei in Python öffnet
Um eine Datei zu öffnen, müssen Sie die eingebaute open-Funktion verwenden. Die Python open-Funktion gibt ein Dateiobjekt zurück, das Methoden und Attribute für verschiedene Operationen beim Öffnen von Dateien in Python enthält.
Syntax der Python open-Dateifunktion
datei_objekt = open("dateiname", "modus")
Hier:
- dateiname: gibt den Namen der Datei an, die das Dateiobjekt geöffnet hat.
- modus: Attribut eines Dateiobjekts, das angibt, in welchem Modus eine Datei geöffnet wurde.
Mehr Details zu diesen Modi werden unten erklärt.
Wie man eine Textdatei in Python erstellt
Mit write können Sie eine .txt-Datei (guru99.txt) erstellen, indem Sie den folgenden Code verwenden:
Schritt 1) Die .txt-Datei öffnen
f = open("guru99.txt", "w+")
- Wir deklarieren die Variable "f", um eine Datei namens guru99.txt zu öffnen. Open nimmt 2 Argumente: die Datei, die wir öffnen wollen, und einen String, der die Art der Berechtigung oder Operation darstellt, die wir auf der Datei ausführen wollen.
- Hier verwenden wir "w" in unserem Argument, was Python anweist, in die Datei zu schreiben, und die Datei wird erstellt, falls sie nicht in der Bibliothek existiert.
- Das Plus-Zeichen deutet auf sowohl Lesen als auch Schreiben für die Python-Dateierstellung hin.
Schritt 2) Daten in die Datei eingeben
for i in range(10):
f.write("Dies ist Zeile %d\r\n" % (i+1))
- Wir haben eine for-Schleife, die über einen Bereich von 10 Zahlen läuft.
- Verwenden der write-Funktion, um Daten in die Datei einzugeben.
- Die Ausgabe, die wir in der Datei iterieren wollen, ist "dies ist Zeilennummer", die wir mit der Python write-Dateifunktion deklarieren und dann Prozent d (zeigt Ganzzahl an).
- Im Grunde fügen wir die Zeilennummer ein, die wir schreiben, dann fügen wir einen Wagenrücklauf und ein Newline-Zeichen ein.
Schritt 3) Die Datei-Instanz schließen
f.close()
- Dies schließt die Instanz der Datei guru99.txt, die gespeichert ist.
Hier ist das Ergebnis nach Code-Ausführung für das Erstellen einer Textdatei in Python:
Wenn Sie auf Ihre Textdatei klicken, in unserem Fall "guru99.txt", wird sie etwa so aussehen:
Wie man Text an eine Datei in Python anhängt
Sie können auch neuen Text zu einer bereits existierenden Datei oder einer neuen Datei anhängen/hinzufügen.
Schritt 1)
f = open("guru99.txt", "a+")
Wieder sehen Sie ein Plus-Zeichen im Code, was bedeutet, dass es eine neue Datei erstellt, falls sie nicht existiert. In unserem Fall haben wir die Datei bereits, daher ist keine neue Datei für den Python-Anhänge-Vorgang erforderlich.
Schritt 2)
for i in range(2):
f.write("Angehängte Zeile %d\r\n" % (i+1))
Dies schreibt Daten in die Datei im Append-Modus.
Sie können die Ausgabe in der Datei "guru99.txt" sehen. Die Ausgabe des Codes ist, dass die frühere Datei durch den Python-Anhänge-Vorgang mit neuen Daten ergänzt wird.
Wie man Dateien in Python liest
Sie können eine Datei in Python lesen, indem Sie die .txt-Datei im "Lese-Modus" (r) aufrufen.
Schritt 1) Datei im Lesemodus öffnen
f = open("guru99.txt", "r")
Schritt 2) Wir verwenden die Modus-Funktion im Code, um zu prüfen, ob die Datei im offenen Modus ist. Wenn ja, fahren wir fort.
if f.mode == 'r':
Schritt 3) f.read verwenden, um Dateidaten zu lesen und in der Variable content zu speichern für das Lesen von Dateien in Python
inhalt = f.read()
Schritt 4) Inhalt ausgeben für Python Textdatei lesen
Hier ist die Ausgabe des Python-Datei-Lese-Beispiels:
Wie man eine Datei zeilenweise in Python liest
Sie können Ihre .txt-Datei auch zeilenweise lesen, wenn Ihre Daten zu groß zum Lesen sind. readlines() trennt Ihre Daten in ein leicht lesbares Format.
Wenn Sie den Code (f1 = f.readlines()) ausführen, um die Datei zeilenweise in Python zu lesen, trennt er jede Zeile und präsentiert die Datei in einem lesbaren Format. In unserem Fall ist die Zeile kurz und lesbar, die Ausgabe wird dem Lesemodus ähnlich sehen. Aber wenn es eine komplexe Datendatei gibt, die nicht lesbar ist, könnte dieser Code nützlich sein.
Dateimodi in Python
Folgend sind die verschiedenen Dateimodi in Python:
| Modus | Beschreibung |
|---|---|
| 'r' | Dies ist der Standardmodus. Öffnet Datei zum Lesen. |
| 'w' | Öffnet Datei zum Schreiben. Wenn Datei nicht existiert, wird neue Datei erstellt. Wenn Datei existiert, wird sie geleert. |
| 'x' | Erstellt neue Datei. Wenn Datei bereits existiert, schlägt die Operation fehl. |
| 'a' | Öffnet Datei im Append-Modus. Wenn Datei nicht existiert, wird neue Datei erstellt. |
| 't' | Dies ist der Standardmodus. Öffnet im Textmodus. |
| 'b' | Öffnet im Binärmodus. |
| '+' | Öffnet Datei zum Lesen und Schreiben (Aktualisieren) |
Hier ist der vollständige Code für Python print() to File Beispiel
Python 2 Beispiel
def main():
f = open("guru99.txt","w+")
# f = open("guru99.txt","a+")
for i in range(10):
f.write("This is line %d\r\n" % (i+1))
f.close()
# Datei zurück öffnen und Inhalte lesen
# f = open("guru99.txt", "r")
# if f.mode == 'r':
# contents = f.read()
# print contents
# oder readlines liest einzelne Zeilen in eine Liste
# fl = f.readlines()
# for x in fl:
# print x
if __name__ == "__main__":
main()
Python 3 Beispiel
Unten ist ein weiteres Python print() to File Beispiel:
def main():
f = open("guru99.txt","w+")
# f = open("guru99.txt","a+")
for i in range(10):
f.write("This is line %d\r\n" % (i+1))
f.close()
# Datei zurück öffnen und Inhalte lesen
# f = open("guru99.txt", "r")
# if f.mode == 'r':
# contents = f.read()
# print(contents)
# oder readlines liest einzelne Zeilen in eine Liste
# fl = f.readlines()
# for x in fl:
# print(x)
if __name__ == "__main__":
main()
Zusammenfassung
- Python erlaubt Ihnen, Dateien zu lesen, zu schreiben und zu löschen.
- Verwenden Sie die Funktion
open("dateiname","w+")für Python Textdatei erstellen. Das + sagt dem Python-Interpreter, die Textdatei mit Lese- und Schreibrechten zu öffnen. - Um Daten an eine existierende Datei anzuhängen oder Python print to file Operation, verwenden Sie den Befehl
open("Dateiname", "a"). - Verwenden Sie die Python read from file Funktion, um den GESAMTEN Inhalt einer Datei zu lesen.
- Verwenden Sie die readlines-Funktion, um den Inhalt der Datei zeilenweise zu lesen.
Python
- C-Dateiverwaltung: I/O mit fopen, fprintf, fread & fseek meistern
- Python File I/O: Dateioperationen, Lesen, Schreiben und Verwaltung meistern
- FPGA Block RAM aus Textdateien mit VHDLs TEXTIO-Bibliothek initialisieren
- Dateien in Java mit BufferedReader lesen – Praktischer Leitfaden mit Beispielen
- Python print()-Funktion: Praktischer Leitfaden mit Beispielen
- Datei- und Verzeichnisexistenz in Python prüfen – Ein praktischer Leitfaden
- Python JSON: Encoding, Decoding und Datei-Handling – Ein praktischer Leitfaden
- Durchschnitt berechnen in Python: Praktischer Leitfaden
- Python Datei-E/A: Eingabe- und Ausgabeoperationen meistern
- Python Exception Handling: Umfassender Leitfaden zur Fehlerbehandlung