logo

Com escriure en un fitxer de text amb Python?

Llegir i escriure en un fitxer per a l'emmagatzematge o el seu ús posterior són tasques habituals en la programació. Python té diverses maneres de treballar amb fitxers, però ens centrarem especialment a escriure en fitxers de text. Els fitxers de text s'utilitzen per emmagatzemar dades de text sense format, i Python facilita als programadors llegir i escriure dades en fitxers de text.

En aquest tutorial, explicarem com els usuaris poden escriure en un fitxer de text amb Python.

Python té una funció integrada per crear, escriure o llegir els fitxers. Pot gestionar dos tipus de fitxers, fitxers de text normals i fitxers binaris. L'elecció entre aquests dos depèn de les dades en què esteu treballant i dels requisits de l'aplicació.

    Fitxer de text normal:El fitxer de text normal emmagatzema contingut o caràcters llegibles pels humans, com ara lletres, números, espais en blanc i símbols. Al fitxer de text normal, cada línia del text s'acaba amb el caràcter especial conegut com a 'Final de línia' (EOL). Per defecte, és el caràcter de línia nova (' ') a Python.Fitxer binari:Els fitxers binaris emmagatzemen dades en format binari. Al fitxer binari, no s'acaba cap línia i les dades s'emmagatzemen després de convertir-les al llenguatge binari de la màquina. Aquestes dades no estan pensades per ser llegides i modificades directament pels humans.

Sintaxi per obrir un fitxer a Python:

 # Method 1: file = open (path_to_the_file, mode) # Manually required to close the file `file.close()` to ensure that # changes made are saved, and system resources are freed up. # Method 2: with open (path_to_the_file, mode) as file: # It automatically closes the file properly # after the block code is executed. 

La funció open() pot acceptar diversos paràmetres. Però l'usuari s'ha de centrar en els dos primers:

    Camí_al_fitxer- El 'camí_al_fitxer' El paràmetre s'utilitza per especificar la ruta del fitxer de text que l'usuari vol obrir per escriure.Mode- El 'mode' El paràmetre s'utilitza per especificar el mode (escriptura, lectura, etc.) pel qual l'usuari vol obrir el fitxer de text.

Per escriure en un fitxer de text, l'usuari utilitzarà el següent mode:

Mode Descripció
'En' S'utilitza per obrir el fitxer de text per escriure text. El fitxer es trunca en aquest mode significa que s'elimina el contingut existent del fitxer.
'a' S'utilitza per obrir el fitxer de text per afegir text. El punter es col·loca al final del fitxer i s'afegeixen dades noves al contingut existent.

Exemple: per mostrar com un usuari pot escriure en un fitxer de text amb Python

 file.write('
') file.writelines('
') 

Depèn totalment de l'usuari si vol afegir el text a la línia següent o no.

cadena en matriu en c

Exemple 2: per mostrar com utilitzar la funció write() per escriure la llista de textos al fitxer de text

 # Method 1 - Simple Approach file = open ('writeme.txt', 'w') file.write('writeme') file.close() # Method 2 - Using the 'with' keyword to open a file with open ('writeme.txt', 'w') as file: file.write('writeme') 

Sortida:

Com escriure en un fitxer de text amb Python

Tots dos mètodes donen el mateix resultat.

Passos per escriure en un fitxer de text en Python:

Per escriure al fitxer de text utilitzant Python , l'usuari ha de seguir els passos següents:

Pas 1 - Obriu el fitxer - Per començar a escriure en un fitxer de text, primer hem d'obrir-lo mitjançant la funció open() integrada, que té dos paràmetres: el nom del fitxer (incloent el camí si el fitxer no es troba al directori actual) i el mode en que volem obrir el fitxer. En el cas d'escriure en un fitxer de text, podem utilitzar el mode 'w', que significa mode d'escriptura, o el mode 'a', que significa mode adjuntar. Si el fitxer no existeix, Python crearà un fitxer nou amb el nom donat.

 # Opening a file 'example.txt' file = open('example.txt', 'w') 

La funció open() retornarà un objecte de fitxer, i aquest objecte de fitxer tindrà dues funcions útils per escriure-hi text:

  • escriure ()
  • línies d'escriptura ()

La funció write() s'utilitza per escriure la cadena al fitxer de text, i la funció writelines() s'utilitza per escriure la llista de la cadena al fitxer alhora.

La funció writelines() també pot acceptar l'objecte iterable. L'usuari també pot passar la tupla de cadenes, el conjunt de cadenes, etc.

Per escriure a la línia següent, l'usuari ha d'afegir manualment el caràcter de línia nova.

Pas 2: escriviu al fitxer: Tan bon punt s'obre el fitxer en mode d'escriptura, podem utilitzar la funció write() o la funció writelines() per escriure-hi. El mètode write() pren una cadena com a paràmetre que volem escriure al fitxer. Podem escriure diverses línies cridant a la funció write() diverses vegades o utilitzant caràcters de nova línia ( ) entre cadenes per separar les línies.

 # Using the 'write' function file.write('This is the first line.
') file.write('This is the second line.
') # Using the 'writelines' function file.writelines('This is the first line.
This is the second line.
') 

Pas 3: tanqueu el fitxer: L'usuari pot tancar el fitxer de text mitjançant la funció close(). Després d'escriure el contingut desitjat al fitxer, és important tancar-lo correctament. Tancar el fitxer assegura que es guarden els canvis i que s'alliberen els recursos del sistema.

 # Closing the file file.close() 

Exemple 2: per mostrar com els usuaris poden afegir un caràcter de línia nou en un fitxer txt

 file.write('
') file.writelines('
') 

Depèn totalment dels usuaris si volen afegir el text a la línia següent o no.

Exemple 3: per mostrar com utilitzar la funció write() per escriure la llista de textos o cadenes en un fitxer de text

 # Creating a list of strings lines_1 = [ 'This is an example', 'to show how a user can write in a text file using Python'] with open('text.txt', 'w') as file: # Iterating over each element of the list for line_1 in lines_1: file.write(line_1) # Adding the line to the text.txt file.write('
') # Adding a new line character 

Sortida:

Com escriure en un fitxer de text amb Python

Explicació:

A l'exemple anterior, primer vam crear una llista de cadenes anomenades lines_1, i després vam obrir aquest fitxer mitjançant la funció open() amb la instrucció 'with'. A continuació, vam utilitzar un bucle for per iterar sobre els elements de la llista, seguit d'escriure la línia i afegir un caràcter de línia nou al fitxer. S'afegeix un caràcter de línia nou al final del bucle for i el punter es col·loca a la línia següent.

Si el fitxer text.txt no existeix a la carpeta, la funció open() crearà el nou fitxer i les operacions es realitzaran en conseqüència.

Exemple 4: per mostrar com els usuaris poden escriure la llista de cadenes de text al fitxer text.txt mitjançant la funció writelines():

 # Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can write in a text file using writelines() function in Python.'] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines() function file.writelines(lines_1) 

Sortida:

Com escriure en un fitxer de text amb Python

Explicació:

ascii d'a en java

A l'exemple anterior, la funció writelines() escriu cada element de la llista en una única línia del fitxer.

Si l'usuari tracta cada element de la llista com una línia, l'ha d'enllaçar amb un caràcter de línia nova.

Exemple 4: per mostrar com un usuari pot enllaçar el caràcter de nova línia amb cada element de la línia del fitxer text.txt

Ja hem vist a l'exemple número 3 com podem afegir un nou caràcter de línia després de cada element de la llista. Quan utilitzem la funció writelines(), hem d'afegir un caràcter de línia nou a la cadena.

 # Creating a list of strings lines_1 = [ 'This is an example
', 'to show how a user can link a new line character
', 'with each element of the list.
'] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines function file.writelines(lines_1) 

Sortida:

Com escriure en un fitxer de text amb Python

Explicació:

A l'exemple anterior, la funció writelines() escriu l'element de llista al fitxer text.txt, on cada element de llista acaba amb un caràcter de línia nova.

Conclusió

En aquest tutorial, hem explicat com un usuari pot escriure textos en un fitxer de text utilitzant Python i les seves diferents funcions. Primer vam aprendre sobre fitxers de text normals i binaris, seguit de la sintaxi de com obrir un fitxer. També vam analitzar la diferència entre 'w' (mode d'escriptura) i 'a' (mode d'afegir). Després vam conèixer els passos per escriure en un fitxer de text a Python i vam implementar diversos exemples per entendre diferents mètodes per escriure en un fitxer de text.