Hvad er brugen af ​​funktionen seek () i Python?


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.

  1. nulstillingsposition til givet byte-offset
  2. 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.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *