Python -Datei suchen

Python -Datei suchen
Python hat mehrere Techniken zum Umgang mit Dateien. Es gibt Methoden, um den Dateizeiger effektiv und grundlegende Vorgänge wie Lesen und Schreiben in Dateien zu manipulieren. Sie lernen, wie Sie die Seek () -Methode verwenden, um den Dateizeiger beim Lesen oder Schreiben einer Datei in diesem Artikel zu verschieben.

Die Funktion seeears () legt die Position eines Dateizeigers fest, während die Funktion TELL () die aktuelle Position des Dateizeigers zurückgibt. Die Such () -Funktion von Python ändert den aktuellen Speicherort der Datei in den Offset. Woher stellt sich ein optionaler Parameter, der für die sofortige Platzierung der Datei standardmäßig 0 standardmäßig ist. Andere Werte sind 1 für die Suche nach dem vorliegenden Ort und 2 für Such im Verhältnis zum Ende der Datei. Es wird kein Wert zurückgegeben. Alle such () Aktionen werden beim nächsten Schreiben gelöscht, wenn die Datei geöffnet ist, um mit 'a' oder 'a angehängt zu werden+.'Diese Methode wird nicht verwendet, wenn die Datei nur zum Schreiben geöffnet wird und sich im Append -Modus mit' A 'befindet, aber sie ist nützlich für Dateien, die im Append -Modus mit aktiviertem Lesedaten geöffnet sind. Nur von Tell () zurückgegebene Offsets sind legal, wenn die Datei im Textmodus mit 't geöffnet wird.'Die Verwendung verschiedener Offsets führt zu unvorhersehbarem Verhalten. Es ist wichtig zu bedenken, dass nicht alle Dateiobjekte durchsucht werden können.

Der Zweck dieses Artikels besteht darin, Ihnen beizubringen, wie Sie die Seek () -Methode verwenden, um den Dateicursor aus seiner gegenwärtigen Position voranzutreiben oder rückwärts. Erfahren Sie, wie Sie den Dateizeiger in den Beginn oder das Ende der Datei umlegen können. Erfahren Sie, wie Sie die aktuelle Position des "DateiHandle" bestimmen, indem Sie den Dateizeiger vom Ende der Datei rückwärts verschieben. Beginnen wir also das Tutorial.

Beispiel 1:

Betrachten Sie das folgende Szenario, in dem wir den Inhalt einer Textdatei mit einem Offset von 5 lesen. Dies zeigt an, dass wir die Datei im 5. Charakter lesen werden.

Hier haben wir die Datei geöffnet, indem wir den genauen Weg davon gegeben haben. Danach lesen wir den Inhalt aus dem 5. Charakter mit der Suchmethode.

mit Open (r'd:/user/deMos/Demo.txt ', "r") als FP:
FP.suchen (5)
Druck (FP.lesen())

Die ersten fünf Zeichen fehlen in der Ausgabe, wie Sie sehen können.

Beispiel 2:

Wir werden in diesem Fall nach dem Beginn der Datei suchen. Durch Einstellen des Parameters von WHO auf 0 können wir die Seek () -Methode verwenden, um die Dateiverweise auf den Beginn der Datei zu verschieben. Die 0 bezeichnet den Beginn der Datei, das das erste Byte ist. Schauen wir uns an, wie Sie den Datei Cursor zum Beginn der Datei bringen können. Hier schreiben wir in eine Textdatei im Exemplar -Beispiel. Wir wollten den Cursor auf den Beginn der Datei verschieben, nachdem wir Inhalte hinzugefügt hatten, um die vollständige Datei zu lesen.

mit Open (r'd:/user/deMos/Demo.txt ', "w+") als FP:
FP.Schreiben ('Beispielinhaltsline 1 \ n')
FP.Schreiben Sie ('Beispielinhaltslinie 2')
FP.suchen (0)
Druck (FP.lesen())

Der Text ist geschrieben.

Im Folgenden finden Sie den aktualisierten Text nach der erfolgreichen Ausführung des Code.

Beispiel 3:

In diesem Beispiel werden wir vom Ende der Datei suchen. In diesem Fall werden wir am Ende der Datei suchen. Wir setzen auf 2 und verschenken auf 0, um den Dateizeiger auf das Ende der Datei zu verschieben. Die drei unten aufgeführten Operationen werden im folgenden Beispiel durchgeführt. Wir fügen zusätzliche Inhalte hinzu und verlagern den Dateizeiger zum Ende der Datei. Die Dateireferenz wird dann auf den Beginn der Datei verschoben, und dort werden neue Informationen hinzugefügt. Wir werden den Zeiger der Datei zum Anfang zurückgeben und den Schreibvorgang fortsetzen. Schauen wir uns an, wie Sie den Datei Cursor zum Ende der Datei verschieben. Wir werden eine vorhandene Datei für diesen Prozess verwenden und eine neue Datei im Lese-/Schreibmodus öffnen.

mit Open (r'd:/user/deMos/Demo.txt ', "w+") als FP:
FP.Schreiben ('Beispielinhaltsline 1 \ n')
FP.Schreiben Sie ('Beispielinhaltslinie 2')
FP.suchen (0)
Druck (FP.lesen())

Der Inhalt wird am Ende der Linie hinzugefügt.

Die Demo.Die TXT -Datei wird ebenfalls aktualisiert.

Beispiel 4:

Schließlich werden wir uns die aktuelle Situation ansehen. Wir können den Dateizeiger ein paar Positionen vor der aktuellen Position verschieben, indem wir auf 1 einstellen und die Anzahl der Position ausgleichen, die wir ändern möchten. Wenn sich der aktuelle Dateizeiger an der 20. Position befindet und Sie zum 75. Zeichen springen möchten, setzen Sie sich auf 50 und woher auf 1 aus. Wir werden eine vorhandene Datei verwenden und eine neue Datei im Lese-/Schreibmodus für diesen Vorgang öffnen. Betrachten Sie den folgenden Code, der drei Bytes liest und sie in Bytes umwandelt. Der Artikel wurde dann 10 Punkte von seiner vorhandenen Position aus fortgeschritten. Wir haben im letzten drei Bytes gelesen.

mit Open (r'd:/user/deMos/Demo.txt ', "rb") als FP:
FP.suchen (2)
Druck (FP.Lesen (3).decode ("utf-8"))
FP.suchen (5, 1)
Druck (FP.Lesen (3).decode ("utf-8"))

Der resultierende Bildschirm des obigen Codes lautet wie folgt.

Abschluss:

In diesem Artikel haben wir gelernt, wie man mit dem DateiHandle verschiedene Teile oder Abschnitte einer Datei durchsucht. Wir haben Ihnen gezeigt, wie Sie die DateiHandle -Position mit der Seek () -Methode ändern können, um neue Inhalte hinzuzufügen oder bestimmte Dateiabschnitte zu lesen.