Bedste svar
Syntaks:
fileObject.seek(offset[, whence])
- offset – Dette er placeringen af læse / skrive-markøren i filen.
- hvorfra – Dette er valgfrit og er som standard 0, hvilket betyder absolut filpositionering, andre værdier er 1, hvilket betyder søg i forhold til den aktuelle position, og 2 betyder søg i forhold til filens slutning.
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-program:
# 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()
Output:
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
Håber dette hjælper dig …
Tak 🙂
Svar
antag, at du har åbnet en fil, der skal læses (eller skriv, konceptet forbliver det samme).
fh = åben (“foo.txt”, “r”)
og du har brugt f.readline () til at læse filen. Tænk på en markør, der er på en bestemt position i filen. for eksempel, når du lige har åbnet en fil, der skal læses, er markørpositionen 0. Når vi laver en readline (), ændres positionen.
Prøv dette:
>>> fh=open(“foo.txt”, “r”)
>>> fh.read()
>>> fh.read()
‘’
Når du kører line4, er der intet vises. Dette skyldes, at markøren allerede har kørt til slutningen af filen efter at have kørt linje 2. der er ikke mere at vise.
Det er muligt at ændre markørens position ved hjælp af seek () -metoden. I den enkleste anvendelse af seek () skal du bruge
>>> fh.seek(0)
>>> fh.read()
Indholdet af filen vises igen. Hvad der er sket her er, at markøren er flyttet til begyndelsen af filen.
seek () tager 2 parametre.
- nulstillingsposition til givet byte-offset
- hvorfra- giver forskydningspositionen i forhold til 0-start, 1-aktuel position eller 2-slutning.
standardværdi for anden parameter er 0. Forskydningsværdi er obligatorisk mens du kalder denne funktion.