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.
- reset positie naar gegeven byte offset
- 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.