Lectura i escriptura de fitxers amb Python

Reading Writing Files With Python



Els fitxers s’utilitzen per emmagatzemar i organitzar les dades en un disc. Sovint fem servir fitxers quan necessitem emmagatzemar dades de manera permanent en un disc dur. Per exemple, diguem que estem construint un sistema de programari que manté els registres dels estudiants. Ara, hem d’emmagatzemar permanentment les dades dels estudiants per al seu ús futur. Amb aquesta finalitat, podem utilitzar fitxers per emmagatzemar dades i, posteriorment, podem obrir aquests fitxers i accedir a les dades emmagatzemades en qualsevol moment.

La lectura i escriptura de fitxers són funcions molt habituals a Python. És fàcil crear, llegir i editar fitxers a Python. Python inclou funcions integrades per llegir i escriure fitxers. Podeu obrir, escriure i llegir fitxers mitjançant les funcions integrades de Python. Les operacions del fitxer es realitzen en la següent seqüència:







  • Obriu un fitxer
  • Arxiu de lectura / escriptura
  • Tanca el fitxer

Mitjançant Python, podeu crear fitxers de text i fitxers binaris. Els fitxers de text emmagatzemen les dades en forma de caràcters i cada línia acaba en un caràcter de línia nova (' n'). En fitxers binaris, les dades s’emmagatzemen en forma de bytes (1 i 0).



En aquest article, aprendreu:



  • Alguns dels diferents modes de fitxers de Python
  • Com obrir un fitxer
  • Com es crea un fitxer
  • Com escriure dades en un fitxer
  • Com llegir un fitxer

Diferents modes de fitxer a Python

Els modes de Python descriuen el tipus d’operació que s’ha de realitzar al fitxer. Quan obriu un fitxer, heu d’especificar el mode. Tots els fitxers tenen un identificador de fitxers. El gestor de fitxers actua com un cursor que especifica on escriure i llegir les dades. És un tipus de punter d’ubicació. A continuació s'inclouen alguns dels diferents modes de fitxers d'accés a Python:





Mode Descripció
r Obre el fitxer en mode de lectura. Aquest mode està seleccionat per defecte si no definiu cap mode mentre obriu el fitxer a Python.
dins Escriu un fitxer. Aquest mode crea un fitxer si el fitxer ja no existeix i sobreescriu les dades del fitxer.
r + S’utilitza per llegir i escriure el fitxer. Es mostra un error si el fitxer no existeix.
a Obre el fitxer en mode d'afegir. El controlador del fitxer es troba al final del fitxer. Aquest mode no sobreescriu les dades existents, però comença a escriure dades al final del fitxer. Es crea un fitxer nou si no existeix.
a + Obre el fitxer per llegir i escriure. Això obre el fitxer en mode d'afegir per escriure. Les dades s’insereixen al final del fitxer. Es crea un fitxer nou si no existeix.
t Obre el fitxer en mode text.

Com obrir un fitxer

Per obrir un fitxer a Python, utilitzeu la funció integrada open () funció. La funció open () pren dos arguments com a entrada, és a dir, el nom del fitxer i el mode d’operació. Aquesta funció retorna l'objecte de fitxer com a sortida. No cal importar cap mòdul per utilitzar la funció open (). A continuació es mostra la sintaxi de la funció open ():

objecte_arxiu= obert(nom de l'arxiu,mode)

Aquí, 'nom_fitxer' representa el nom del fitxer de text real, mentre que 'mode' representa l'accés al fitxer o el mode de funcionament del fitxer. També podeu col·locar r abans de ‘nom_fitxer’ si el nom del fitxer inclou caràcters especials. La r es col·loca de la següent manera:



=objecte_arxiu= obert(nom_arxiu,mode)

Per exemple, el nom del fitxer podria ser: F: newfolder myfile.txt

Com es crea un fitxer

La funció open () es pot utilitzar per crear fitxers a Python. Utilitzeu el mode d'afegir (a) dins de la funció open () per crear el fitxer. Creeu un fitxer amb el codi que es mostra a continuació:

dossier = obert('sample.txt','A')

Aquí es crea un nou objecte de fitxer. L'objecte de fitxer s'anomena fitxer. El nom del fitxer de text creat recentment és sample.txt. El fitxer de text s'obre en mode d'afegir. Es crearà el fitxer nou si el fitxer ja no existeix. Després de crear el fitxer, heu de tancar-lo de la següent manera:

dossier.Tanca()

La funció close () integrada s’utilitza per tancar el fitxer.

Com escriure dades en un fitxer

Hi ha dues funcions a Python que s’utilitzen per escriure dades en un fitxer:

  1. write ()
  2. writelines ()

La funció write () s'utilitza per escriure dades d'una sola línia o cadena única en un fitxer, mentre que la funció writelines () s'utilitza per escriure diverses línies de dades en un fitxer de text. Vegem alguns exemples d’escriptura de dades en un fitxer.

Utilitzant la funció write ()

En aquest exemple, utilitzem la funció write () per escriure dades a un fitxer. El fitxer s'obre en mode d'escriptura. n es col·loca per especificar el final de la línia.

# crear un nou objecte de fitxer i obrir un fitxer en mode d'escriptura
dossier=obert('sample.txt','dins')
# escrivint una sola línia en un fitxer

dossier.escriure(Benvingut a linuxhint n')
# escrivint una altra línia en un fitxer
dossier.escriure('Benvingut de nou')

# tancant el fitxer
dossier.Tanca()

Sortida

Les línies s’han escrit als fitxers de text.

Si obrim el fitxer en mode d’escriptura i demanem a la funció write () que escrigui més línies al fitxer, sobreescriurà les dades anteriors i s’afegiran dades noves al fitxer de text.

# crear un nou objecte de fitxer i obrir un fitxer en mode d'escriptura
dossier=obert('sample.txt','dins')
# escrivint una sola línia en un fitxer

dossier.escriure('Hola a tothom n')
# escrivint una altra línia en un fitxer
dossier.escriure('Aquesta és la cadena substituïda')

# tancant el fitxer
dossier.Tanca()

Sortida

A la sortida, es pot veure que les dades anteriors se substitueixen i s’afegeixen dades noves al seu lloc al fitxer de text.

Si volem conservar tant les dades anteriors com les noves al fitxer, podem obrir el fitxer en mode d'afegir, així:

# crear un nou objecte de fitxer i obrir un fitxer en mode d'afegir
dossier=obert('sample.txt','A')
# escrivint una sola línia en un fitxer

dossier.escriure('Hola a tothom n')
# escrivint una altra línia en un fitxer
dossier.escriure('Aquesta és la cadena substituïda n')
# escrivint una nova línia única en un fitxer
dossier.escriure('Aquesta és la cadena de cadena acabada d'afegir n')
# tancant el fitxer
dossier.Tanca()

Sortida

Ús de la funció writelines ()

La funció writelines () s'utilitza per escriure diverses línies en un text alhora, de la següent manera:

# crear un nou objecte de fitxer i obrir un fitxer en mode d'escriptura
dossier=obert('file1.txt','dins')
# emmagatzemar diverses dades de cadenes en una variable
pàg = ['Hola a tothom n',Benvingut a linuxhint n','Estem utilitzant la funció de línies de comandament n']
# utilitzar funcions de línies de comandament per escriure dades en un fitxer
dossier.escrits(pàg)
# tancant el fitxer
dossier.Tanca()

Sortida

Com llegir un fitxer

Per llegir un fitxer a Python, primer obriu-lo en mode de lectura. Hi ha tres funcions integrades a Python per llegir un fitxer. Aquests inclouen el següent:

  1. llegir ()
  2. readline ()
  3. readlines ()

read (): S’utilitza per llegir les dades d’un fitxer; retorna totes les dades en forma de cadena.

readline (): Llegeix una línia de dades d'un fitxer; només retorna la primera línia.

readlines (): Llegeix totes les línies existents d'un fitxer; el retorna en forma de llista.

La funció seek () s’utilitza per canviar la posició del controlador de fitxers. Quan es llegeixen dades al fitxer, el controlador del fitxer es posiciona al final del fitxer. Per tant, un controlador de fitxer és com un cursor, amb la funció seek () com a mitjà per moure el cursor.

Vegem un exemple de lectura de dades del fitxer.

# obrint un fitxer en mode de lectura
dossier=obert('file1.txt','r')
# mitjançant la funció read () per llegir les dades del fitxer
# emmagatzemar les línies en una variable
dades=dossier.llegir()
# imprimir les dades
imprimir('Aquesta és la sortida de la funció read (): n')
imprimir(dades)

# mitjançant la funció seek () per iniciar la posició del fitxer
dossier.buscar(0)
# mitjançant la funció readline () per llegir les dades del fitxer
# emmagatzemar les línies en una variable
dades=dossier.línia de lectura()
# imprimir les dades
imprimir('Aquesta és la sortida de la funció readline (): n')
imprimir(dades)

# mitjançant la funció seek () per iniciar la posició del fitxer
dossier.buscar(0)
# mitjançant la funció readlines () per llegir les dades del fitxer
# emmagatzemar les línies en una variable
dades=dossier.línies de lectura()
# imprimir les dades
imprimir('Aquesta és la sortida de la funció readlines (): n')
imprimir(dades)
# tancant el fitxer
dossier.Tanca()

Sortida

Conclusió

Sovint és necessari emmagatzemar informació o dades en un fitxer. A Python, podeu crear, escriure i llegir fitxers fàcilment mitjançant les funcions integrades de Python. No cal importar altres mòduls al vostre programa quan vulgueu llegir, escriure i crear fitxers. També podeu utilitzar diversos modes d’accés integrats mentre utilitzeu els fitxers. En aquest article, hem explicat com llegir i escriure fitxers a Python amb alguns exemples senzills.