Wenn Sie den Hintergrund Ihres Desktops betrachten, was fällt Ihnen auf? Dateien sind überall verbreitet, richtig? Ich weiß, dass wir regelmäßig in diese schlechte Angewohnheit geraten, einen überladenen Desktop zu haben, aber der Punkt hier ist, dass wir uns viel mit Dateien beschäftigen.
Wenn Sie über Python sprechen, ist es durchaus möglich, mit Python-Dateien zu arbeiten. Dies ist es, was ich Ihnen in diesem Tutorial zeigen werde.
Der erste natürliche Prozess, den wir ausführen müssen, um eine Datei an einer Datei zu bearbeiten, ist der öffnen es. Laden Sie Text.txt herunter, die Datei, die wir für unsere Experimente verwenden werden.
Um die Datei mit Python zu öffnen, verwenden wir die Funktion open (). Wie in der Dokumentation erwähnt:
open () gibt ein Dateiobjekt zurück und wird am häufigsten mit zwei Argumenten verwendet: open (Dateiname, Modus)
Bevor Sie, wie oben erwähnt, ein Beispiel nehmen, das öffnen()
Funktion wird zwei Argumente annehmen: Dateiname und Modus. Diese Art des Argumentierens ist eigentlich ähnlich stdio
(d. h. C) fopen ()
. Dateiname ist einfach der Name der Datei, die Sie öffnen möchten. Sie können auch den Pfad zu dieser Datei angeben, wenn sich diese nicht in Ihrem aktuellen Verzeichnis befindet. Und Modus ist ein String-Wert, der angibt, wie die Datei geöffnet wird. Beispiele für verschiedene Modi sind in der folgenden Tabelle dargestellt:
Modus | Beschreibung |
r | Textdatei zum Lesen öffnen. Der Stream wird am Anfang der Datei positioniert |
r+ | Offen zum Lesen und Schreiben. Der Stream wird am Anfang der Datei positioniert |
w | Länge auf Null abschneiden oder Textdatei zum Schreiben erstellen. Der Stream wird am Anfang der Datei positioniert |
w+ | Offen zum Lesen und Schreiben. Die Datei wird erstellt, wenn sie nicht vorhanden ist. Andernfalls wird sie abgeschnitten. Der Stream wird am Anfang der Datei positioniert |
ein | Offen zum Schreiben. Die Datei wird erstellt, wenn sie nicht vorhanden ist. Der Stream wird am Ende der Datei positioniert. Nachfolgende Schreibvorgänge in die Datei enden immer am aktuellen Ende der Datei |
ein+ | Offen zum Lesen und Schreiben. Die Datei wird erstellt, wenn sie nicht vorhanden ist. Der Stream wird am Ende der Datei positioniert. Nachfolgende Schreibvorgänge in die Datei enden immer am aktuellen Ende der Datei |
Sie können auch andere Modi in der Python-Dokumentation sehen.
Gehen wir weiter und öffnen Sie die Datei Text.txt. Dies kann einfach in einer Zeile wie folgt durchgeführt werden:
text_file = open ('Text.txt')
Wie Sie hier sehen können, haben wir das nicht angegeben Modus
. Um den Standardmodus zu kennen, der mit verwendet wird öffnen()
, Art Textdatei drucken
, In diesem Fall erhalten Sie Folgendes:
Wie Sie sehen können, ist der Standardmodus r
. An dieser Stelle bemerken Sie möglicherweise nichts, aber das Öffnen der Datei wurde in diesem Schritt erreicht.
Die Datei ist wie eine geheime Box. Wir haben es im vorherigen Schritt geöffnet, und jetzt wollen wir sehen, was drin ist. Das Lesen einer Datei ist in Python einfach und kann mit der lesen()
Methode wie folgt:
text_file.read ()
Um die Ausgabe der vorherigen Anweisung anzuzeigen, geben Sie Folgendes ein print text_file.read ()
. In diesem Fall wird das Geheimnis (Inhalt) aufgedeckt!
Ich genieße es, in Python etwas über das "Umgang mit Dateien" zu lernen
Mach weiter und tippe print text_file.read ()
wieder und was fällt dir auf? Sie können das sehen leeren String wurde ausgegeben. Dies liegt daran, dass Sie bereits die gesamte Datei gelesen haben, im Gegensatz zum Lesen einer Zeile, d. H. Zeile lesen()
.
Vielleicht möchten Sie der bereits gelesenen Datei einen weiteren Satz oder Absatz hinzufügen (schreiben). Angenommen, Sie möchten den folgenden Satz hinzufügen: und ich suche mehr
. Dies kann in Python mit der schreiben()
Methode wie folgt:
text_file.write ('und ich suche mehr')
Ups, hier ist ein Fehler aufgetreten:
Traceback (letzter Aufruf zuletzt): Datei "test.py", Zeile 2, intext_file.write ('und ich suche mehr') IOError: Datei zum Schreiben nicht geöffnet
Hast du den Punkt schon verstanden? Denken Sie daran, als wir die Datei im ersten Abschnitt wie folgt geöffnet haben: öffnen ('Text.txt')
? Da haben wir keine angegeben Modus
In diesem Beispiel wurde der Modus (Standard) auf festgelegt r
. Dies erlaubt uns nur zu lesen die Datei, und in diesem Beispiel versuchen wir es schreiben in die Datei. Also, lasst uns die Datei wieder öffnen, aber mit dem Schreiben w
Modus:
text_file = open ('Text.txt', 'w')
Versuchen Sie jetzt, den Satz mit dem obigen Code erneut zu schreiben. Was hast du bekommen? Lasst uns öffnen()
und drucken
lesen()
die Datei wie in den ersten beiden Abschnitten gezeigt, um zu sehen, was sich in der Datei befindet:
text_file = open ('Text.txt', 'r') print text_file.read ()
Die Ausgabe dieses Skripts lautet:
und ich suche mehr
Sie haben erwartet, dass dieser neue Satz mit dem ursprünglichen Satz einhergeht Ich genieße es, in Python etwas über das "Umgang mit Dateien" zu lernen
, warst du nicht Wo ist es verschwunden? Das w
Der Modus scheint den Inhalt der Datei zu überschreiben, in die er schreibt. Wenn Sie den Originaltext des Dokuments behalten möchten, können Sie das verwenden ein
(Anhängen) Modus:
text_file = open ('Text.txt', 'a') text_file.write ('und ich suche mehr')
In diesem Fall sollten Sie den erwarteten Inhalt in erhalten Text.txt
:
Ich lerne gerne über "Dateihandling" in Python und bin auf der Suche nach mehr
Lassen Sie uns alles, was wir bisher gelernt haben, zusammenfassen:
mit open ('Text.txt', 'r +') als text_file: print 'Der Inhalt der Datei VOR dem Schreiben von Inhalten:' print text_file.read () text_file.write ('und ich suche noch mehr') Dateiinhalt NACH dem Schreiben von Inhalten: 'text_file.seek (0) print text_file.read ()
Wir haben hier einige neue Dinge. Lass mich sie schnell klären. Mit als
ermöglicht es uns, die Datei zu öffnen, zu verarbeiten und sicherzustellen, dass sie geschlossen ist. suchen()
, Andererseits können wir den Zeiger (d. h. den Cursor) zu einem anderen Teil der Datei bewegen. suchen (0)
, bedeutet beispielsweise, dass der Bezugspunkt der Anfang der Datei ist.
Führen Sie das Skript aus und sehen Sie, was Sie als Ausgabe erhalten.
Wenn Sie die Gewohnheit haben, eine Datei nach dem Lesen oder Schreiben zu schließen, können Sie Speicherplatz freigeben. Ja, Python schließt die Dateien nach Abschluss des Skripts automatisch. Wenn Sie dies jedoch nicht tun, wird jede geöffnete Datei etwas Platz beanspruchen, von dem Python profitieren könnte. Das Schließen einer Datei wird einfach mit der schließen()
Methode.
Nehmen wir dieses Beispiel:
text_file = open ('Text.txt', 'a +') print text_file.read () text_file.write ('und ich suche noch mehr')
Was passiert, wenn wir die Datei danach schließen lesen()
? Das ist, text_file.close ()
. Python gibt die folgende Ausnahme aus:
Traceback (letzter Aufruf zuletzt): Datei "test.py", Zeile 4, intext_file.write ('und ich suche mehr') ValueError: E / A-Vorgang für geschlossene Datei
Daraus schließen wir, dass wir kann nicht Lesen oder Schreiben in eine geschlossene Datei.
Das war es für dieses Tutorial. Wir haben gesehen, wie einfach Python die Arbeit mit Dateien durch einige grundlegende Operationen macht, die wir demonstriert haben.
Welche anderen Operationen führen Sie normalerweise für Dateien aus, die Python verwenden?