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.
- Position auf den angegebenen Byte-Offset zurücksetzen
- 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.