Python 3 - File seek () Metodo

Descrizione

Il metodo seek()imposta la posizione corrente del file all'offset. L'argomento whence è 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.

Non esiste alcun valore di ritorno. Nota che se il file viene aperto per essere aggiunto usando "a" o "a +", qualsiasi operazione seek () verrà annullata alla successiva scrittura.

Se il file viene aperto solo per la scrittura in modalità di aggiunta utilizzando "a", questo metodo è essenzialmente un no-op, ma rimane utile per i file aperti in modalità di aggiunta con la lettura abilitata (modalità "a +").

Se il file viene aperto in modalità testo usando 't', solo gli offset restituiti da tell () sono legali. L'uso di altri offset causa un comportamento indefinito.

Notare che non tutti gli oggetti file sono ricercabili.

Sintassi

Di seguito è riportata la sintassi per seek() metodo -

fileObject.seek(offset[, whence])

Parametri

  • offset - Questa è la posizione del puntatore di lettura / scrittura all'interno del file.

  • whence - 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.

Valore di ritorno

Questo metodo non restituisce alcun valore.

Esempio

L'esempio seguente mostra l'utilizzo del metodo seek ().

Assuming that 'foo.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
#!/usr/bin/python3

# Open a file
fo = open("foo.txt", "r+")
print ("Name of the file: ", fo.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

Quando eseguiamo il programma sopra, produce il seguente risultato:

Name of the file:  foo.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