La ce folosește funcția seek () în Python?


Cel mai bun răspuns

Sintaxă:

fileObject.seek(offset[, whence])

  • offset – Aceasta este poziția indicatorului de citire / scriere din fișier.
  • de unde – Acesta este opțional și implicit la 0, ceea ce înseamnă poziționarea absolută a fișierului, alte valori sunt 1, ceea ce înseamnă căutare în raport cu poziția curentă și 2 înseamnă căutare în raport cu sfârșitul fișierului.

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

Program Python:

# 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()

Ieșire:

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

Sper că acest lucru vă ajută …

Vă mulțumesc 🙂

Răspundeți

să presupunem că ați deschis un fișier pentru a citi (sau a scrie, conceptul rămâne același).

fh = open („foo.txt”, „r”)

și ați folosit f.readline () pentru a citi fișierul. Gândiți-vă la un cursor care se află într-o anumită poziție în fișier. de exemplu, când tocmai ați deschis un fișier de citit, poziția cursorului este 0. Când facem o readline (), poziția se schimbă.

Încercați acest lucru:

>>> fh=open(“foo.txt”, “r”)

>>> fh.read()

>>> fh.read()

‘’

Când rulați linia4, nimic este afisat. Acest lucru se datorează faptului că după rularea liniei 2, cursorul a trecut deja până la sfârșitul fișierului. nu mai este nimic de afișat.

Este posibil să schimbați poziția cursorului utilizând metoda seek (). În cea mai simplă întrebuințare a căutării (), utilizați

>>> fh.seek(0)

>>> fh.read()

Conținutul fișierului va fi afișat din nou. Ceea ce s-a întâmplat aici este că cursorul a fost mutat la începutul fișierului.

seek () ia 2 parametri.

  1. resetați poziția la offsetul de octeți dat
  2. de unde- oferă poziția de decalare în raport cu 0-start, 1-current position sau 2 – end.

valoarea implicită a celui de-al doilea parametru este 0. Valoarea offset este obligatorie în timp ce apelați această funcție.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *