Gestione dei file in Python è uno strumento potente e versatile che può essere utilizzato per eseguire un'ampia gamma di operazioni. Tuttavia, è importante considerare attentamente i vantaggi e gli svantaggi della gestione dei file quando si scrivono programmi Python, per garantire che il codice sia sicuro, affidabile e funzioni bene.
In questo articolo esploreremo Gestione dei file Python, vantaggi, svantaggi e funzionamento delle funzioni di apertura, scrittura e aggiunta nel file Python.
Gestione dei file Python
Python supporta la gestione dei file e consente agli utenti di gestire file, ovvero leggere e scrivere file, insieme a molte altre opzioni di gestione dei file, per operare sui file. Il concetto di gestione dei file si è esteso a vari altri linguaggi, ma l'implementazione è complicata o lunga, come altri concetti di Python, anche questo concetto qui è semplice e breve. Pitone tratta i file in modo diverso come testo o binari e questo è importante. Ogni riga di codice include una sequenza di caratteri e forma un file di testo. Ogni riga di un file termina con un carattere speciale, chiamato EOL O Fine della linea personaggi come virgola {,} O carattere di nuova riga. Termina la riga corrente e comunica all'interprete che ne è iniziata una nuova. Cominciamo con la lettura e la scrittura dei file.
Vantaggi della gestione dei file in Python
- Versatilità : La gestione dei file in Python consente di eseguire un'ampia gamma di operazioni, come creare, leggere, scrivere, aggiungere, rinominare ed eliminare file.
- Flessibilità : La gestione dei file in Python è altamente flessibile, poiché consente di lavorare con diversi tipi di file (ad esempio file di testo, file binari, File CSV , ecc.) e per eseguire diverse operazioni sui file (ad esempio leggere, scrivere, aggiungere, ecc.).
- Utente – amichevole : Python fornisce un'interfaccia intuitiva per la gestione dei file, semplificando la creazione, la lettura e la manipolazione dei file.
- Multipiattaforma : Le funzioni di gestione dei file Python funzionano su diverse piattaforme (ad esempio Windows, Mac, Linux), consentendo un'integrazione e una compatibilità perfette.
Svantaggi della gestione dei file in Python
- Incline a errori: Le operazioni di gestione dei file in Python possono essere soggette a errori, soprattutto se il codice non è scritto attentamente o se ci sono problemi con il file system (ad esempio permessi dei file, blocchi dei file, ecc.).
- Rischi per la sicurezza : La gestione dei file in Python può anche comportare rischi per la sicurezza, soprattutto se il programma accetta l'input dell'utente che può essere utilizzato per accedere o modificare file sensibili sul sistema.
- Complessità : La gestione dei file in Python può essere complessa, soprattutto quando si lavora con formati di file o operazioni più avanzati. È necessario prestare particolare attenzione al codice per garantire che i file vengano gestiti in modo corretto e sicuro.
- Prestazione : Le operazioni di gestione dei file in Python possono essere più lente rispetto ad altri linguaggi di programmazione, soprattutto quando si tratta di file di grandi dimensioni o si eseguono operazioni complesse.
Per questo articolo, prenderemo in considerazione quanto segue geeks.txt file come esempio.
Hello world techcodeview.com 123 456>
Apri file Python
Prima di eseguire qualsiasi operazione sul file come leggere o scrivere, dobbiamo prima aprire quel file. Per questo, dovremmo usare la funzione integrata di Python aprire() ma al momento dell'apertura dobbiamo specificare la modalità, che rappresenta lo scopo del file di apertura.
f = open(filename, mode)>
Dove è supportata la seguente modalità:
- R: aprire un file esistente per un'operazione di lettura.
- In: aprire un file esistente per un'operazione di scrittura. Se il file contiene già alcuni dati, verrà sovrascritto, ma se il file non è presente, verrà creato anche il file.
- UN: aprire un file esistente per l'operazione di aggiunta. Non sovrascriverà i dati esistenti.
- r+: Per leggere e scrivere dati nel file. I dati precedenti nel file verranno sovrascritti.
- w+: Scrivere e leggere dati. Sostituirà i dati esistenti.
- a+: Per aggiungere e leggere i dati dal file. Non sovrascriverà i dati esistenti.
Lavorare in modalità Lettura
C'è più di un modo per farlo Come leggere da un file in Python . Vediamo come possiamo leggere il contenuto di un file in modalità lettura.
quante once sono 10 millilitri
Esempio 1: Il comando open aprirà il file Python in modalità lettura e il ciclo for stamperà ogni riga presente nel file.
Python3
# a file named 'geek', will be opened with the reading mode.> file> => open>(>'geek.txt'>,>'r'>)> # This will print every line one by one in the file> for> each>in> file>:> >print> (each)> |
>
>
Produzione:
Hello world techcodeview.com 123 456>
Esempio 2: In questo esempio, estrarremo una stringa che contiene tutti i caratteri del file Python che potremo utilizzare file.leggi() .
Python3
# Python code to illustrate read() mode> file> => open>(>'geeks.txt'>,>'r'>)> print> (>file>.read())> |
>
>
Produzione:
Hello world techcodeview.com 123 456>
Esempio 3: In questo esempio vedremo come leggere un file utilizzando il comando con dichiarazione in Pitone.
Python3
# Python code to illustrate with()> with>open>(>'geeks.txt'>) as>file>:> >data>=> file>.read()> print>(data)> |
>
>
Produzione:
Hello world techcodeview.com 123 456>
Esempio 4: Un altro modo per leggere un file è chiamare un certo numero di caratteri come nel codice seguente l'interprete leggerà i primi cinque caratteri dei dati memorizzati e li restituirà come una stringa:
Python3
# Python code to illustrate read() mode character wise> file> => open>(>'geeks.txt'>,>'r'>)> print> (>file>.read(>5>))> |
>
>
Produzione:
Hello>
Esempio 5: Possiamo anche dividere le righe durante la lettura dei file in Python. La funzione split() divide la variabile quando incontra spazio. Puoi anche dividere utilizzando qualsiasi personaggio desideri.
Python3
# Python code to illustrate split() function> with>open>(>'geeks.txt'>,>'r'>) as>file>:> >data>=> file>.readlines()> >for> line>in> data:> >word>=> line.split()> >print> (word)> |
>
>
Produzione:
['Hello', 'world'] ['techcodeview.com'] ['123', '456']>
Creazione di un file utilizzando la funzione write()
Proprio come leggere un file in Python, ci sono diversi modi per farlo Scrittura su file in Python . Vediamo come possiamo scrivere il contenuto di un file usando la funzione write() in Python.
lista collegata
Lavorare in modalità scrittura
Vediamo come creare un file e come funziona la modalità di scrittura.
Esempio 1: In questo esempio vedremo come viene utilizzata la modalità scrittura e la funzione write() per scrivere in un file. Il comando close() termina tutte le risorse in uso e libera il sistema da questo particolare programma.
Python3
# Python code to create a file> file> => open>(>'geek.txt'>,>'w'>)> file>.write(>'This is the write command'>)> file>.write(>'It allows us to write in a particular file'>)> file>.close()> |
>
>
Produzione:
This is the write commandIt allows us to write in a particular file>
Esempio 2: Possiamo anche usare l'istruzione scritta insieme alla funzione with().
Python3
# Python code to illustrate with() alongwith write()> with>open>(>'file.txt'>,>'w'>) as f:> >f.write(>'Hello World!!!'>)> |
>
>
Produzione:
Hello World!!!>
Funzionamento della modalità di aggiunta
Vediamo come funziona la modalità di aggiunta.
Esempio: Per questo esempio utilizzeremo il file Python creato nell'esempio precedente.
Python3
# Python code to illustrate append() mode> file> => open>(>'geek.txt'>,>'a'>)> file>.write(>'This will add this line'>)> file>.close()> |
>
>
Produzione:
This is the write commandIt allows us to write in a particular fileThis will add this line>
Ci sono anche vari altri comandi nella gestione dei file Python che vengono utilizzati per gestire varie attività:
rstrip(): This function strips each line of a file off spaces from the right-hand side. lstrip(): This function strips each line of a file off spaces from the left-hand side.>
È progettato per fornire una sintassi e una gestione delle eccezioni molto più pulite quando si lavora con il codice. Questo spiega perché è buona pratica usarli con una dichiarazione, ove applicabile. Ciò è utile perché utilizzando questo metodo tutti i file aperti verranno chiusi automaticamente al termine, quindi la pulizia automatica.
Implementazione di tutte le funzioni nella gestione dei file
In questo esempio tratteremo tutti i concetti che abbiamo visto sopra. Oltre a questi, vedremo anche come eliminare un file utilizzando la funzioneremove() di Python modulo del sistema operativo .
Python3
import> os> def> create_file(filename):> >try>:> >with>open>(filename,>'w'>) as f:> >f.write(>'Hello, world!
'>)> >print>(>'File '> +> filename>+> ' created successfully.'>)> >except> IOError:> >print>(>'Error: could not create file '> +> filename)> def> read_file(filename):> >try>:> >with>open>(filename,>'r'>) as f:> >contents>=> f.read()> >print>(contents)> >except> IOError:> >print>(>'Error: could not read file '> +> filename)> def> append_file(filename, text):> >try>:> >with>open>(filename,>'a'>) as f:> >f.write(text)> >print>(>'Text appended to file '> +> filename>+> ' successfully.'>)> >except> IOError:> >print>(>'Error: could not append to file '> +> filename)> def> rename_file(filename, new_filename):> >try>:> >os.rename(filename, new_filename)> >print>(>'File '> +> filename>+> ' renamed to '> +> new_filename>+> ' successfully.'>)> >except> IOError:> >print>(>'Error: could not rename file '> +> filename)> def> delete_file(filename):> >try>:> >os.remove(filename)> >print>(>'File '> +> filename>+> ' deleted successfully.'>)> >except> IOError:> >print>(>'Error: could not delete file '> +> filename)> if> __name__>=>=> '__main__'>:> >filename>=> 'example.txt'> >new_filename>=> 'new_example.txt'> >create_file(filename)> >read_file(filename)> >append_file(filename,>'This is some additional text.
'>)> >read_file(filename)> >rename_file(filename, new_filename)> >read_file(new_filename)> >delete_file(new_filename)> |
>
>
Produzione:
File example.txt created successfully. Hello, world! Text appended to file example.txt successfully. Hello, world! This is some additional text. File example.txt renamed to new_example.txt successfully. Hello, world! This is some additional text. File new_example.txt deleted successfully.>