Bästa svaret
Syntax:
fileObject.seek(offset[, whence])
- offset – Detta är läs- / skrivpekarens position i filen.
- varifrån – Detta är valfritt och är som standard 0 vilket betyder absolut filpositionering, andra värden är 1 vilket betyder sök i förhållande till den aktuella positionen och 2 betyder sök i förhållande till filens slut.
Ex –
Exempel.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
Hoppas det hjälper dig …
Tack 🙂
Svar
antar att du har öppnat en fil att läsa (eller skriva, konceptet är detsamma).
fh = open (“foo.txt”, “r”)
och du har använt f.readline () för att läsa filen. Tänk på en markör som befinner sig på en viss plats i filen. till exempel när du precis har öppnat en fil som ska läsas är markörens position 0. När vi gör en readline () ändras positionen.
Prova detta:
>>> fh=open(“foo.txt”, “r”)
>>> fh.read()
>>> fh.read()
‘’
När du kör line4, ingenting visas. Detta beror på att markören redan har passerat till slutet av filen efter att ha kört rad 2. det finns inget mer att visa.
Det är möjligt att ändra markörens position med sökmetoden (). I den enklaste användningen av seek (), använd
>>> fh.seek(0)
>>> fh.read()
Filens innehåll visas igen. Vad som har hänt här är att markören har flyttats till början av filen.
search () tar två parametrar.
- Återställ position till given byteförskjutning
- varifrån- ger offsetpositionen med avseende på 0-start, 1-aktuell position eller 2-slut.
standardvärdet för den andra parametern är 0. Offset-värde är obligatoriskt medan du ringer till den här funktionen.