Come leggere e scrivere file di testo in Python

Come leggere e scrivere file di testo in Python
Questo articolo coprirà una guida che spiega la gestione dei file esterni in Python. L'obiettivo principale sarà l'apertura e la chiusura del testo e di altri file di dati non binari archiviati su un supporto di archiviazione, consentendo di eseguire varie operazioni sui contenuti dei file aperti.

Apertura e chiusura di un file

Per leggere i dati da un file di testo chiamato "Dati.txt ", è necessario utilizzare il metodo" aperto "che viene fornito con build ufficiali di Python. Controlla il codice di esempio seguente:

f = open ('dati.txt ',' r ')
F.vicino()

La prima affermazione apre i "dati.file txt "in modalità" R "(sola lettura). Il metodo "aperto" accetta un nome file e la modalità per la gestione del file come argomenti. Oltre alla modalità "R", ci sono anche altre modalità che saranno spiegate in seguito. Lo snippet di codice sopra non esegue alcuna operazione sul file aperto. Il metodo "Close" viene utilizzato per chiudere in modo pulito il file aperto in modo che la memoria possa essere liberata e per evitare la corruzione dei dati nel file aperto che a volte può avvenire se il file non è chiuso correttamente.

Invece di utilizzare il metodo "aperto" per gestire l'apertura e la chiusura dei file, è possibile combinarlo con la parola chiave "con" e utilizzare l'istruzione "con apertura".

con Open ('Data.txt ',' r ') come f:
passaggio

Il vantaggio principale dell'utilizzo di un'istruzione "con apertura" è che l'interprete chiude automaticamente il file aperto in modo sicuro quando il blocco di codice "con aperto" viene analizzato completamente. Sebbene Garbage Collector in Python chiuda automaticamente i file aperti dopo un po 'secondo le regole preimpostate, le dichiarazioni "con apertura" assicurano che il file sia chiuso in modo pulito non appena il blocco di codice ha terminato per liberare le risorse.

Lettura delle righe di un file di testo

Per leggere il contenuto di un file, utilizzare il campione di codice di seguito:

con Open ('Data.txt ',' r ') come f:
dati = f.Leggere()
Stampa (dati)

Ad esempio, se "dati.Il file txt ”ha 1-10 numeri, ciascuno su una nuova riga, otterrai il seguente output dopo l'esecuzione del codice sopra:

L'intero dump di dati dei "dati.Il file txt "è archiviato nella variabile" dati ". Se si desidera leggere le righe in un elenco, è possibile utilizzare i seguenti campioni di codice:

con Open ('Data.txt ',' r ') come f:
dati = f.readlines ()
Stampa (dati) con Open ('Data.txt ',' r ') come f:
data = elenco (f)
Stampa (dati)

Si noti che l'uso di snippet sopra può ottenere il carattere "\ n" (newline) alla fine di ciascun elemento nell'elenco. Per rimuovere questi caratteri newline, potrebbe essere necessario eseguire il lancio attraverso l'elenco. È possibile creare un nuovo elenco e spogliare i caratteri newline utilizzando invece il seguente codice:

data_list = []
con Open ('Data.txt ',' r ') come f:
per la linea in f:
data_list.append (riga.striscia())
Stampa (data_list)

L'esecuzione del codice sopra ti porterà seguendo l'output:

Scrivere dati su un file aperto

Per scrivere i dati su un file che viene aperto utilizzando l'istruzione "con apertura", dovrai fornire una modalità di apertura diversa come argomento. Ecco alcune delle modalità:

  • 'A' - utilizzato per l'avvicinarsi dei dati alla fine di un file aperto, crea un nuovo file se non esiste
  • 'W' - cancella i contenuti del file aperto e scrive nuovi dati, crea un nuovo file se non esiste
  • 'r' - modalità di sola lettura (modalità predefinita se non viene fornito alcun argomento)
  • 'R+' - Usato sia per la lettura che per la scrittura (la posizione iniziale è all'inizio del file)
  • 'B' - Il file viene aperto in modalità binaria (utile per file binari non text), può essere combinato con altre modalità
  • 'A+' - Utilizzato per la lettura e l'aggiunta, crea un nuovo file se non esiste
  • 'w+' - usato per la lettura e la scrittura, crea un nuovo file se non esiste

Di seguito sono elencati alcuni frammenti di codice che utilizzano modalità diverse per scrivere dati.

Per scrivere nuovi contenuti in un file di testo mentre si cancella i dati esistenti, utilizzare il seguente esempio:

con Open ('Data.txt ',' w ') come f:
F.Scrivi ("1 \ n2")

Dopo aver eseguito lo snippet sopra, 1-10 numeri nei "dati.Il file txt "deve essere sostituito da due nuove righe.

Per aggiungere righe all'inizio di un file di testo, è necessario utilizzare il metodo "cerca" per tornare alla posizione iniziale del buffer di file:

con Open ('Data.txt ',' r+') come f:
dati = f.Leggere()
F.Cerca (0)
F.Scrivi ("-1 \ n0 \ n")
F.Scrivi (dati)

Dopo aver eseguito lo snippet sopra, i numeri -1 e 0 verranno aggiunti alle prime due righe in “Dati.file txt ".

Per aggiungere i dati alla fine del file, utilizzare il seguente esempio:

con Open ('Data.txt ',' a ') come f:
F.Scrivi ("11 \ n12")

Dopo aver eseguito lo snippet sopra, verranno aggiunti 11 e 12 numeri alla fine del file.

Conclusione

Le classi e i metodi integrati in Python forniscono un modo robusto per gestire i file di testo. Con solo poche righe di codice puoi manipolare i dati esistenti in un file e inserire nuove righe.