Programmazione

Come lavorare con i file in Python

Come lavorare con i file in Python

Python è un fantastico linguaggio di programmazione per la maggior parte delle attività, come lo sviluppo web, l'intelligenza artificiale, l'automazione o la programmazione generale. Lavorare con file e cartelle è importante perché dobbiamo usarli per automatizzare attività o archiviare dati e varie altre attività simili.

Per lavorare con file di formato speciale come file immagine, file JSON, PDF, file CSV o file di database, python ha moduli straordinari scritti da grandi programmatori per semplificare il nostro compito. Puoi controllare il nostro tutorial passo passo su come lavorare con i file di database SQL usando python con cui puoi imparare SQLite, che è un ottimo modo per archiviare e recuperare i dati dei programmi Python.

Prima di iniziare, dobbiamo prima installare Python nel sistema. Se non lo hai installato, puoi vedere la nostra guida sull'installazione di Python.

Lavorare con i file in Python

I file sono una parte importante del nostro lavoro quotidiano. Usiamo file PDF, file Excel o normali file di testo per molte attività. I tutorial che stai leggendo su questo sito sono in un file HTML che il tuo browser elabora. Come molti altri linguaggi di programmazione, Python supporta anche la gestione dei file.

Apertura e chiusura di file

Possiamo facilmente aprire un file in python usando la funzione open() integrata. La funzione open accetta molti argomenti, ma l'argomento principale richiesto è il percorso del file che vogliamo aprire. La funzione open() ha un singolo ritorno, che è il fileobject.

file_obj = open("nomefile.TXT")

Il codice aprirà il file denominato "filename.txt", un file di testo presente nella stessa cartella. Quindi memorizzerà il fileobject restituito nella variabile file_obj.

Quando abbiamo completato tutta l'elaborazione con il file, dobbiamo ricordare la chiusura del file. Un file viene chiuso dopo che il programma è terminato in molti casi, ma è bene chiuderlo usando la funzione close() ogni volta che non ne abbiamo bisogno. Se dimentichiamo di chiudere un file, consumerà semplicemente memoria, il che rallenterà il programma. È considerata una cattiva pratica per i progetti più grandi.

Per chiudere un file aperto, dobbiamo usare la funzione close() dell'oggetto file.

# qui apriremo il file nomefile.txt file_obj = open("nomefile.txt") print("Il file è stato aperto con successo… ") # Ora possiamo eseguire l'elaborazione con il file # Dopo l'elaborazione dobbiamo chiudere il file file_obj.close() print("Il file è stato chiuso... ")

Abbiamo aperto un file chiamato nome del file.TXT nella stessa cartella usando la funzione open() e poi chiusa usando la funzione close()().

Produzione:

apertura e chiusura del file

Sebbene la funzione close() sia utile per chiudere un file, c'è un altro modo per chiudere un file, i.e., aprendo il file usando il con la dichiarazione.

Esempio:

con open("nomefile.txt") as file_obj: # Ecco le operazioni sui file

Il codice chiuderà automaticamente il file una volta usciti dal con bloccare. L'istruzione with chiude anche il file se ci saranno errori, quindi è meglio usare l'istruzione with poiché possiamo chiudere il file e gestire facilmente gli errori del file usandolo.

Modalità di apertura dei file

Sebbene la funzione open() possa essere utilizzata con un solo argomento, i.e., il percorso del file, possiamo anche usare un altro argomento chiamato modalità. Indica la modalità utilizzata per aprire il file.

Ad esempio, se vogliamo aprire il file per la sola lettura e non vogliamo modificarlo, possiamo usare la modalità 'r' come argomento per la funzione open(), che significa modalità di sola lettura. Questa è anche la modalità predefinita per la funzione open(). Per scrivere o modificare un file, dobbiamo aprire il file con la modalità di scrittura usando la 'w' come argomento.

Esempio:

con open("nomefile.txt", w"): # Ecco le istruzioni # da eseguire sul file

Questo codice aprirà il file in modalità di scrittura in modo da poter eseguire operazioni di scrittura sul file.

Potrebbero anche esserci situazioni in cui vogliamo aprire un file in modalità binaria per eseguire alcune operazioni su di esso. Per fare ciò, dobbiamo modalità 'rb' per leggere in modalità binaria e 'wb' per scrivere in modalità binaria.

Esempio:

con open("nomefile.dat", "rb"): # Ecco le istruzioni # da eseguire sul file binario

Si aprirà un file di dati chiamato nomefile.dat in modalità binaria per la sola lettura.

Fino ad ora, abbiamo imparato come aprire un file e chiudere un file. Ora vediamo come possiamo leggere i dati dal file usando Python.

Leggere i file usando Python

Ci sono molti modi in cui possiamo leggere i dati da un file aperto in Python, ma il modo più comune è usare le funzioni read(), readline() e readlines().

La funzione read()

Accetta il numero di byte da leggere dal file come argomento e legge quella quantità di byte dal file.

Se non forniamo alcun argomento o usiamo None o -1 come argomento per la funzione read(), l'intero file verrà letto in modalità di sola lettura.

Esempio:

con open("nomefile.txt") come oggetto_file: # utilizzando la funzione read() per leggere i byte # dall'oggetto file parole = oggetto_file.leggi() stampa(parole)

Produzione:

leggere i dati dal file usando la funzione read()

Potrebbe essere necessario creare il nome file del file di esempio.txt con contenuto demo o specificare altri file nell'argomento della funzione open() prima di eseguire il programma; altrimenti, python genererà FileNotFoundError come mostrato di seguito.

Traceback (ultima chiamata più recente): File "file.py", riga 1, in con open("nomefile.txt") come file_obj: FileNotFoundError: [Errno 2] Nessun file o directory: 'filename.TXT'

La funzione read() è un modo fantastico per leggere i byte dal file, ma ci sono più modi per leggere i dati da un file. Principalmente ci sono altri due metodi per leggere i dati da un file. Sono i metodi readline() e readlines().

La funzione readline()

La funzione readline() viene utilizzata per leggere una riga alla volta. Ogni volta che lo eseguiamo, otterremo la riga successiva del file.

Esempio:

con open("nomefile.txt","r") come fileobj: print(fileobj.readline()) # stampa la prima riga print(fileobj.readline()) # stampa la seconda riga

Output: Otterremo la prima e la seconda riga del file stampate.

leggere i dati usando la funzione readline()

Possiamo anche passare il numero di caratteri da leggere da una riga come argomento alla funzione readline().

Esempio:

con open("nomefile.txt","r") come fileobj: print(fileobj.readline(15)) # stampa i primi 15 byte

Produzione:

specificando il numero di caratteri nella funzione readine()

La funzione readlines()

La funzione readlines() è usata per leggere tutte le righe di un file. Questa funzione restituirà un elenco di tutte le righe presenti nel file. Se non abbiamo bisogno di eseguire tutte le righe, possiamo anche specificare il numero di righe di cui abbiamo bisogno come argomento.

Esempio:

con open("nomefile.txt","r") come fileobj: print(fileobj.readlines()) # restituisce un elenco di tutte le righe

Produzione:

funzione readlines()

Scrivere file usando Python

Per scrivere dati in un file usando python, dobbiamo usare il metodo write() dell'oggetto file. La funzione di scrittura accetta i dati come argomento che vogliamo scrivere nel file.

Esempio:

line = "Questa è una nuova riga\n" con open("nomefile.txt","w") come fileobj: print(fileobj.linea di scrittura))

Eseguendo il codice, tutti i nome del file.TXT i dati verranno sostituiti dalla stringa "Questa è una nuova riga". Se non hai il nome del file.TXT file presente in precedenza, quindi ne creerà uno.

File in allegato

Durante la scrittura di un file come abbiamo fatto nel codice precedente, potresti notare che i nuovi dati sostituiscono tutti i dati precedenti presenti nel file. A volte ci viene richiesto solo di aggiungere i nuovi dati invece di riscrivere i dati. Dobbiamo aprire il file utilizzando la modalità "a" e quindi utilizzare la funzione write() per scrivere i dati.

Esempio:

line = "\nQuesta è una nuova riga" con open("nomefile.txt","a") come fileobj: print(fileobj.linea di scrittura))

Avremo una nuova riga scritta nel file nomefile.txt senza sostituire le righe precedenti durante l'esecuzione del codice.

Rinominare ed eliminare i file

Per rinominare un file, dobbiamo usare la funzione rename() del modulo os. La funzione rename accetta due argomenti importanti, il primo argomento è il percorso del file che vogliamo rinominare e l'altro argomento è il nuovo nome del file originale.

Esempio:

importare il sistema operativo.rinomina("file1.txt,file2.TXT")

Il codice rinominerà il file file1.TXT con il nome file2.TXT.

Per eliminare un file usando python, dobbiamo usare il rimuovere() funzione di os modulo.

Esempio:

importare il sistema operativo.remove("campione.TXT")

Questo cancellerà il file campione.TXT presente nella directory corrente. Puoi anche fornire il percorso del file se è presente in altre directory. Se il file non esiste nel percorso indicato, otterremo un FileNotFoundError. Utilizzare il metodo di gestione delle eccezioni delineato nell'argomento secondario precedente per gestire gli errori.

Conclusione

In questo tutorial, abbiamo imparato tutto il necessario per lavorare con i file in Python, come creare file, leggere dati da file, scrivere dati su file, rimuovere e rinominare file, ecc.

Puoi anche fare riferimento alla nostra guida passo passo su come lavorare con il database SQLite su python, dove puoi imparare tutto ciò che devi sapere mentre lavori con i database SQLite in python.

Battaglia per Wesnoth 1.13.6 Sviluppo rilasciato
Battaglia per Wesnoth 1.13.6 rilasciato il mese scorso, è la sesta versione di sviluppo nella 1.13.x e offre una serie di miglioramenti, in particolar...
Come installare League Of Legends su Ubuntu 14.04
Se sei un fan di League of Legends, questa è un'opportunità per testare League of Legends. Nota che LOL è supportato su PlayOnLinux se sei un utente L...
Installa l'ultimo gioco di strategia OpenRA su Ubuntu Linux
OpenRA è un motore di gioco di strategia in tempo reale gratuito/libero che ricrea i primi giochi di Westwood come il classico Command & Conquer: Red ...