Wat is het gebruik van de seek () -functie in Python?


Beste antwoord

Syntaxis:

fileObject.seek(offset[, whence])

  • offset – Dit is de positie van de lees- / schrijfwijzer in het bestand.
  • waarvandaan – Dit is optioneel en de standaardwaarde is 0, wat de absolute positionering van het bestand betekent, andere waarden zijn 1, wat betekent zoeken relatief aan de huidige positie en 2 betekent zoeken relatief aan het einde van het bestand.

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-programma:

# 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()

Uitvoer:

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

Ik hoop dat dit je helpt …

Bedankt 🙂

Antwoord

stel dat je een bestand hebt geopend om te lezen (of te schrijven, het concept blijft hetzelfde).

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

en je hebt f.readline () gebruikt om het bestand te lezen. Denk aan een cursor die op een bepaalde positie in het bestand staat. als je bijvoorbeeld net een bestand hebt geopend om te lezen, is de cursorpositie 0. Als we een readline () uitvoeren, verandert de positie.

Probeer dit:

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

>>> fh.read()

>>> fh.read()

‘’

Wanneer u line4 uitvoert, is er niets wordt weergegeven. Dit komt omdat de cursor na het uitvoeren van regel 2 al naar het einde van het bestand is gegaan. er is niets meer om weer te geven.

Het is mogelijk om de positie van de cursor te veranderen met de seek () methode. In de eenvoudigste manier om seek () te gebruiken, gebruik je

>>> fh.seek(0)

>>> fh.read()

De inhoud van het bestand wordt opnieuw weergegeven. Wat hier is gebeurd, is dat de cursor naar het begin van het bestand is verplaatst.

seek () neemt 2 parameters.

  1. reset positie naar gegeven byte offset
  2. vanwaar- geeft de offset-positie ten opzichte van 0-start, 1-huidige positie of 2 – end.

standaardwaarde van tweede parameter is 0. Offsetwaarde is verplicht tijdens het aanroepen van deze functie.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *