Qual è luso della funzione seek () in Python?


Migliore risposta

Sintassi:

fileObject.seek(offset[, whence])

  • offset – Questa è la posizione del puntatore di lettura / scrittura allinterno del file.
  • da dove – Questo è facoltativo e il valore predefinito è 0 che significa posizionamento assoluto del file, altri valori sono 1 che significa ricerca relativa alla posizione corrente e 2 significa ricerca relativa alla fine del file.

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

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

Risultato:

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

Spero che questo ti aiuti …

Grazie 🙂

Risposta

supponi di aver aperto un file da leggere (o scrivere, il concetto rimane lo stesso).

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

e hai usato f.readline () per leggere il file. Pensa a un cursore che si trova in una certa posizione nel file. per esempio, quando hai appena aperto un file da leggere, la posizione del cursore è 0. Quando eseguiamo readline (), la posizione cambia.

Prova questo:

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

>>> fh.read()

>>> fh.read()

‘’

Quando esegui line4, niente È visualizzato. Questo perché dopo aver eseguito la riga 2, il cursore è già passato alla fine del file. non cè più niente da visualizzare.

È possibile cambiare la posizione del cursore utilizzando il metodo seek (). Nel più semplice degli usi di seek (), usa

>>> fh.seek(0)

>>> fh.read()

Il contenuto del file verrà visualizzato di nuovo. Quello che è successo qui è che il cursore è stato spostato allinizio del file.

seek () accetta 2 parametri.

  1. ripristina la posizione a un dato offset di byte
  2. da dove- fornisce la posizione di offset rispetto a 0-inizio, 1-posizione corrente o 2 – fine.

il valore predefinito del secondo parametro è 0. Il valore di offset è obbligatorio mentre si chiama questa funzione.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *