6 999
contributi
S3v (discussione | contributi) (tolto "stub") |
|||
(28 versioni intermedie di un altro utente non mostrate) | |||
Riga 1: | Riga 1: | ||
{{ | {{Acc_Menu_Python}} | ||
== Input e Output su file di testo puro == | == Input e Output su file di testo puro == | ||
Riga 38: | Riga 37: | ||
L'ultimo metodo richiamato è '''close()''', che chiude il collegamento al file prova.txt (è buona norma chiudere il collegamento al file al termine di ogni operazione) | L'ultimo metodo richiamato è '''close()''', che chiude il collegamento al file prova.txt (è buona norma chiudere il collegamento al file al termine di ogni operazione) | ||
Adesso '''leggiamo''' il contentuo di prova.txt: | |||
<pre> | |||
>>> f = open('prova.txt','r') | |||
>>> f.read() | |||
'1° riga del mio file\n2° riga del mio file\n' | |||
>>> f.seek(0) | |||
0 | |||
>>> f.readline() | |||
'1° riga del mio file\n' | |||
>>> f.readline() | |||
'2° riga del mio file\n' | |||
>>> f.seek(0) | |||
0 | |||
>>> f.readlines() | |||
['1° riga del mio file\n', '2° riga del mio file\n'] | |||
>>> f.close() | |||
</pre> | |||
Analizzando il codice vediamo che per la lettura del file abbiamo usato 3 diversi metodi: | |||
:'''read()''' restituisce una stringa con l'intero contenuto del file (compresi i i caratteri \n) | |||
:'''readline()''' restituisce una stringa con l'intero contenuto di ogni riga | |||
:'''readlines()''' restituisce una lista con tutte le righe | |||
Da notare l'uso del metodo '''seek'''(''offset, from_what'') che permette di cambiare la posizione dell'oggetto all'interno del file. Ha due argomenti di cui solo il primo è obbligatorio: | |||
:''offset'' - rappresenta il numero di byte (caratteri) da aggiungere al secondo argomento (from_what) in base alla posizione che vogliamo raggiungere all'interno del file | |||
:''from_what'' - rappresenta il punto di inizio dello spostamento, '''0''' dall'inizio del file, '''1''' dalla posizione corrente, '''2''' dalla fine del file (valore di default 0) | |||
Nel nostro caso '''seek(0)''' significa spostati di 0 byte dall' inizio del file (0) | |||
Per conoscere la posizione attuale dell'oggetto, misurata in byte dall'inizio del file possiamo usare il metodo '''tell()'''. | |||
'''aggiungiamo un'altra riga''' al nostro file: | |||
<pre> | |||
>>> f = open('prova.txt','a') | |||
>>> f.write('3° riga del mio file\n') | |||
21 | |||
>>> f.close() | |||
</pre> | |||
visualizziamo il nuovo contenuto: | |||
<pre> | |||
>>> f = open('prova.txt','r') | |||
>>> print(f.read()) | |||
1° riga del mio file | |||
2° riga del mio file | |||
3° riga del mio file | |||
</pre> | |||
'''Riferimenti''' | |||
* [http://docs.python.org/release/3.1.3/tutorial/inputoutput.html#reading-and-writing-files Reading and Writing files] | |||
* [http://docs.python.org/release/3.1.3/library/functions.html#open Open method] | |||
contributi