Se guardi lo sfondo del tuo desktop, cosa noti? I file si diffondono ovunque, giusto? So che cadiamo regolarmente in questa cattiva abitudine di avere un desktop ingombrante, ma il punto qui è che ci sembra di trattare molto con i file.
Parlando di Python, è certamente possibile lavorare con i file usando Python, e questo è quello che ti mostrerò in questo tutorial.
Il primo processo naturale che dobbiamo eseguire per fare qualsiasi operazione su alcuni file è Aperto esso. Vai avanti e scarica Text.txt, che è il file che useremo per condurre i nostri esperimenti.
Per aprire il file usando Python, useremo la funzione open (). Come menzionato nella documentazione:
open () restituisce un oggetto file ed è più comunemente usato con due argomenti: open (nomefile, modalità)
Prima di fare un esempio, come detto sopra, il Aperto()
la funzione prenderà due argomenti: nome del file e modalità. Questo modo di impostare argomenti è in realtà simile a stdio
's (cioè C) fopen ()
. Nome del file è semplicemente il nome del file che vuoi aprire. È anche possibile fornire il percorso a tale file se non si trova nella directory corrente. E modalità è un valore stringa che indica come il file verrà aperto. Esempi di diverse modalità sono mostrati nella seguente tabella:
Modalità | Descrizione |
r | Apri il file di testo per la lettura. Lo stream è posizionato all'inizio del file |
r+ | Aperto per leggere e scrivere. Lo stream è posizionato all'inizio del file |
w | Tronca a zero lunghezza o crea file di testo per la scrittura. Lo stream è posizionato all'inizio del file |
w+ | Aperto per leggere e scrivere. Il file viene creato se non esiste, altrimenti viene troncato. Lo stream è posizionato all'inizio del file |
un | Aperto per la scrittura. Il file viene creato se non esiste. Lo stream è posizionato alla fine del file. Le scritture successive al file andranno sempre alla fine attuale del file |
un+ | Aperto per leggere e scrivere. Il file viene creato se non esiste. Lo stream è posizionato alla fine del file. Le scritture successive al file andranno sempre alla fine attuale del file |
Puoi anche vedere altre modalità nella documentazione di Python.
Andiamo avanti e apriamo il file Text.txt. Questo può essere fatto semplicemente in una riga come segue:
text_file = open ('Text.txt')
Come puoi vedere qui, non abbiamo specificato il modalità
. Per conoscere la modalità predefinita utilizzata con Aperto()
, genere stampa text_file
, nel qual caso otterrai quanto segue:
Quindi, come puoi vedere, la modalità predefinita è r
. A questo punto potresti non notare nulla, ma l'apertura del file è stata raggiunta in questo passaggio.
Il file è come una scatola segreta. L'abbiamo aperto nel passaggio precedente e ora vogliamo vedere cosa c'è dentro. La lettura di un file è semplice in Python e può essere ottenuta usando il leggere()
metodo, come segue:
text_file.read ()
Per vedere l'output dell'istruzione precedente, digitare stampa text_file.read ()
. In questo caso, il segreto (contenuto) sarà rivelato!
Mi sto divertendo a conoscere la "gestione dei file" in Python
Vai avanti e digita stampa text_file.read ()
di nuovo, e cosa noti? Puoi vedere che un vuoto la stringa è stata emessa. Questo perché hai già letto l'intero file, in contrasto con la lettura di una riga alla volta, vale a dire. linea di lettura()
.
Forse ti piacerebbe aggiungere (scrivere) un'altra frase o paragrafo al file che abbiamo già letto. Di 'che hai voluto aggiungere la seguente frase: e sto cercando altro
. Questo può essere fatto in Python usando il Scrivi()
metodo, come segue:
text_file.write ('e sto cercando altro')
Oops, abbiamo un errore qui:
Traceback (ultima chiamata più recente): File "test.py", riga 2, intext_file.write ('e sto cercando altro') IOError: File non aperto per la scrittura
Hai capito il punto? Ricorda quando abbiamo aperto il file nella prima sezione come segue: aperta ( 'Text.txt')
? Dal momento che non abbiamo specificato a modalità
in questo esempio, la modalità (predefinita) è stata impostata su r
. Questo ci permetterà solo di leggere il file, e in questo esempio stiamo cercando di Scrivi al file. Quindi, apriamo di nuovo il file, ma con la scrittura w
modalità:
text_file = open ('Text.txt', 'w')
Prova ora a scrivere di nuovo la frase usando il codice sopra. Cosa hai preso? Diamo Aperto()
e stampare
leggere()
il file come mostrato nelle prime due sezioni per vedere cosa c'è dentro il file:
text_file = open ('Text.txt', 'r') stampa text_file.read ()
L'output di questo script è:
e sto cercando altro
Ti aspettavi di vedere questa nuova frase accompagnata dalla frase originale Mi sto divertendo a conoscere la "gestione dei file" in Python
, non eri? Quindi dove è sparito? Il w
la modalità sembra sovrascrivere il contenuto del file in cui sta scrivendo. Se sei interessato a mantenere il testo originale del documento, puoi utilizzare il un
(aggiungere) modalità:
text_file = open ('Text.txt', 'a') text_file.write ('e sto cercando altro')
In questo caso, dovresti ottenere il contenuto previsto in text.txt
:
Mi sto divertendo a conoscere la "gestione dei file" in Python e sto cercando altro
Mettiamo insieme tutto ciò che abbiamo imparato finora:
con open ('Text.txt', 'r +') come text_file: print 'Il contenuto del file PRIMA di scrivere contenuti:' stampa text_file.read () text_file.write ('e sto cercando altro') print 'The contenuto del file DOPO la scrittura del contenuto: 'text_file.seek (0) stampa text_file.read ()
Abbiamo alcune novità qui. Permettetemi di chiarirli rapidamente. con come
ci consente di aprire il file, elaborarlo e accertarci che sia chiuso. cercare()
, d'altra parte, ci permette di spostare il puntatore (cioè il cursore) in un'altra parte del file. seek (0)
, per esempio, significa che il punto di riferimento sarà l'inizio del file.
Vai avanti ed esegui lo script e guarda cosa ottieni come output.
Avere l'abitudine di chiudere un file dopo aver letto o scritto ti permetterà di liberare memoria. Sì, Python chiuderà automaticamente i file al termine dello script, ma se non lo fai prima, qualsiasi file aperto occuperà un po 'di spazio di cui potrebbe beneficiare Python. La chiusura di un file viene eseguita semplicemente utilizzando il vicino()
metodo.
Prendiamo questo esempio:
text_file = open ('Text.txt', 'a +') stampa text_file.read () text_file.write ('e sto cercando altro')
Cosa succederà se chiudiamo il file dopo leggere()
? Questo è, text_file.close ()
. Python darà la seguente eccezione:
Traceback (ultima chiamata più recente): File "test.py", riga 4, intext_file.write ('e sto cercando altro') ValueError: operazione I / O su file chiuso
Quindi, concludiamo che noi non può leggere o scrivere su un file chiuso.
Questo è tutto per questo tutorial. Abbiamo visto quanto sia facile Python lo fa funzionare con i file attraverso alcune operazioni di base che abbiamo dimostrato.
Quali altre operazioni esegui di solito sui file usando Python?