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.
- ripristina la posizione a un dato offset di byte
- 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.