Was ist die Verwendung der Funktion seek () in Python?


Beste Antwort

Syntax:

fileObject.seek(offset[, whence])

  • Offset – Dies ist die Position des Lese- / Schreibzeigers in der Datei.
  • woher – Dies ist optional und standardmäßig 0, was absolute Positionierung der Datei bedeutet. Andere Werte sind 1, dh Suche relativ zur aktuellen Position und 2 bedeutet Suche relativ zum Ende der Datei.

Ex

Sample.txt:

Assuming that "Sample.txt" file contains following text:

This is 1st line

This is 2nd line

This is 3rd line

This is 4th line

This is 5th line

Python-Programm:

# Open a file

fo = open("Sample.txt", "r+")

print ("Name of the file: ", Sample.name)

line = fo.readlines()

print ("Read Line: \%s" \% (line))

# Again set the pointer to the beginning

fo.seek(0, 0)

line = fo.readline()

print ("Read Line: \%s" \% (line))

# Close opened file

fo.close()

Ausgabe:

Name of the file: Sample.txt

Read Line: ["This is 1st line\n", "This is 2nd line\n", "This is 3rd line\n", "This is 4th line\n", "This is 5th line"]

Read Line: This is 1st line

Ich hoffe, das hilft Ihnen …

Danke 🙂

Antwort

Angenommen, Sie haben eine Datei zum Lesen geöffnet (oder geschrieben, das Konzept bleibt gleich).

fh = open („foo.txt“, „r“)

und Sie haben f.readline () verwendet, um die Datei zu lesen. Stellen Sie sich einen Cursor vor, der sich an einer bestimmten Position in der Datei befindet. Wenn Sie beispielsweise gerade eine Datei zum Lesen geöffnet haben, ist die Cursorposition 0. Wenn wir eine readline () ausführen, ändert sich die Position.

Versuchen Sie Folgendes:

>>> fh=open(“foo.txt”, “r”)

>>> fh.read()

>>> fh.read()

‘’

Wenn Sie die Zeile 4 ausführen, nichts wird angezeigt. Dies liegt daran, dass der Cursor nach dem Ausführen von Zeile 2 bereits das Dateiende erreicht hat. Es wird nichts mehr angezeigt.

Sie können die Position des Cursors mithilfe der seek () -Methode ändern. Verwenden Sie in der einfachsten Verwendung von seek ()

>>> fh.seek(0)

>>> fh.read()

Der Inhalt der Datei wird erneut angezeigt. Was hier passiert ist, ist, dass der Cursor an den Anfang der Datei bewegt wurde.

seek () verwendet 2 Parameter.

  1. Position auf den angegebenen Byte-Offset zurücksetzen
  2. von wo- gibt die Versatzposition in Bezug auf 0-Start, 1-aktuelle Position oder 2-Ende an.

Der Standardwert des zweiten Parameters ist 0. Der Versatzwert ist obligatorisch während Sie diese Funktion aufrufen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.