Leggi file in una stringa in Python

Manav Narula 30 gennaio 2023
  1. Usa il metodo read() per leggere un file di testo in una stringa in Python
  2. Usa la funzione pathlib.read_text() per leggere un file di testo in una stringa in Python
  3. Usa la funzione join() per leggere un file di testo in una stringa in Python
Leggi file in una stringa in Python

In Python, abbiamo funzioni integrate che possono gestire diverse operazioni sui file su diversi tipi di file. Un file di testo contiene una sequenza di stringhe in cui ogni riga terminava utilizzando un carattere di nuova riga \n.

In questo tutorial impareremo come leggere un file di testo in una stringa in Python.

Usa il metodo read() per leggere un file di testo in una stringa in Python

Il metodo read() dell’oggetto file ci permette di leggere tutto il contenuto da un file di testo tutto in una volta. Per prima cosa, creeremo un oggetto file e apriremo il file di testo richiesto in modalità di lettura usando la funzione open(). Quindi useremo la funzione read() con questo oggetto file per leggere tutto il testo in una stringa e stamparlo come mostrato di seguito.

with open("sample.txt") as f:
    content = f.read()

print(content)

Produzione:

sample line 1\n sample line 2\n sample line 3\n

Quando leggiamo un file, legge anche il carattere di nuova riga \n. Possiamo rimuovere questo carattere usando la funzione replace(). Questa funzione sostituirà tutti i caratteri di nuova riga della stringa con un carattere specificato nella funzione.

Per esempio,

with open("sample.txt") as f:
    content = f.read().replace("\n", " ")

print(content)

Produzione:

sample line 1 sample line 2 sample line 3

Usa la funzione pathlib.read_text() per leggere un file di testo in una stringa in Python

Il modulo pathlib è stato aggiunto a Python 3.4 e ha metodi più efficienti disponibili per la gestione dei file e i percorsi di sistema. La funzione read_text() di questo modulo può leggere un file di testo e chiuderlo nella stessa riga. Il codice seguente lo mostra.

from pathlib import Path

content = Path("sample.txt").read_text().replace("\n", " ")
print(content)

Produzione:

sample line 1 sample line 2 sample line 3

Usa la funzione join() per leggere un file di testo in una stringa in Python

Il metodo join() ci permette di unire diversi iterabili in Python. Possiamo leggere un file di testo in una stringa usando anche questa funzione. Per questo, leggeremo tutto usando l’oggetto file, quindi useremo il metodo di comprensione della lista e li combineremo usando la funzione join(). Il codice seguente implementa questo.

with open("sample.txt") as f:
    content = " ".join([l.rstrip() for l in f])
print(content)

Produzione:

sample line 1 sample line 2 sample line 3

La funzione rstrip() qui rimuove tutti i caratteri finali dalla riga.

Autore: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Articolo correlato - Python File

Articolo correlato - Python String