Vad är användningen av sökfunktionen i Python?


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.

  1. Återställ position till given byteförskjutning
  2. 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.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *