Artículo original escrito por Dionysia Lemonaki
Artículo original Python Create File  
Traducido y adaptado por Andrés Torres

En programación, empleamos archivos para almacenar datos. De este modo podemos acceder a ellos en cualquier momento.

Leer, escribir y editar archivos en Python es  una tarea común, puesto que el lenguaje nos provee con una serie de funciones integradas que nos facilitan el trabajo.

En este artículo, crearé un proyecto simple, donde escribiré, añadiré y finalmente leeré el texto en final en Python, para que veas el resultado.

Puedes seguir paso a paso conmigo si gustas.

¡Empecemos!

Cómo configurar la estructura del proyecto.

El primer paso es determinar la estructura del directorio del proyecto.

Elijamos un lugar para crear un directorio y sigamos los pasos siguientes.

Este proyecto se está creando desde un directorio local.

#Este comando te mueve hacia tu directorio local, por si acaso aún no estás en él.
cd 

#Creamos un nuevo directorio y le damos un nombre.
mkdir python_text

#Nos movemos hacia el directorio que acabamos de crear 
cd python_text

#Creamos dos archivos vacíos en el mismo directorio: Un archivo de texto y el otro para los scripts de Python.
touch text.txt scripts.py

#Abrimos Visual Studio Code para editar
code .

Por el momento, el archivo de texto está vacío:

Screenshot-2021-09-02-at-11.17.28-AM

Agreguemos algo.

Escribir archivos de texto en Python.

La mejor práctica para escribir, añadir u leer archivos de texto en Python es usar la palabra reservada with.

La sintaxis general es la siguiente:

with open("path_to_and_name_of_file","mode") as variable_name:
    variable_name.write('What I want to write goes here')

Desglosando:

  • Empezamos con la palabra reservada with.
  • A continuación, abrimos el archivo de texto. La función open() retorna un objeto del archivo y lo transforma en dos parámetros: La dirección del archivo y el nombre del archivo que buscamos abrir. El archivo en este ejemplo es en el mismo directorio que el script de Python, por lo que la dirección es simple. El segundo parámetro es el modo en que el archivo se abrirá. Para escribir en los archivos, usaremos w que es un indicador dewrite.
  • Luego tenemos la palabra reservada as.
  • Como siguiente paso, el nombre de la variable actúa como una forma de almacenamiento temporal para los contenidos de texto que vais a almacenar.
  • El método .write() se utiliza para escribir en el archivo de texto y agregar el contenido de la cadena que desee.

Para añadir algún contenido al archivo de texto, en  scripts.py añadimos:

with open("text.txt","w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")

Para añadir texto en diferentes líneas, como en el ejemplo anterior, tenemos que añadir explícitamente el elemento,\.

Finalmente, cuando abrimos Visual Studio Code empleando (Control ~), ejecutamos el código escribiendo: python3 scripts.py.

Verificamos text.txt y debería tener el contenido siguiente añadido:

Screenshot-2021-09-02-at-6.51.51-PM

Es importante notar que cada vez que usemos el método.write() y ejecutemos nuestro código, cualquier texto que existía previamente será sobrescrito.

Veamos si teníamos algún texto de plantilla, en el archivo  text.txt cuando se creó por primera vez:

Screenshot-2021-09-02-at-7.03.03-PM

Como efectuamos el siguiente código:

with open("text.txt","w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")

El contenido actual del archivo de texto es el siguiente:

Screenshot-2021-09-02-at-7.04.23-PM

Por tanto, hemos perdido cualquier registro anterior.

Añadir un archivo de texto en Python.

Funciona de manera muy similar al ejemplo anterior.

No obstante, en esta ocasión abriremos el archivo de texto específicamente para la función append de Python, con el parámetro del modo open() siendo nuestra función (después del nombre del archivo text.txt) a, para  append:

with open("text.txt","a") as file:
    file.write("What I want to add on goes here")

Cualquier contenido bajo el método .write() será añadido al final del archivo de texto.

Así pues, para añadir "And more..." a  text.txt hacemos lo siguiente:

with open("text.txt","a") as file:
    file.write("I am adding in more lines\n")
    file.write("And more…")

Ejecutamos el programa otra vez, y text.txt debería lucir así:

Screenshot-2021-09-02-at-7.15.51-PM

A primera vista notamos que el texto anterior "I am learning Python!" y demás, no ha sido borrado.

El texto nuevo es añadido después del texto antiguo, y nuevamente tenemos que añadir explícitamente otra pleca invertida \.

with open("text.txt","a") as file:
    file.write("\n")
    file.write("I am adding in more lines\n")
    file.write("And more…")
Screenshot-2021-09-02-at-7.18.15-PM

Como leer un archivo en Python

Para leer un archivo podemos usar la palabra reservada with y la funciónopen() con dos argumentos: el primero es la dirección y el nombre del archivo, el segundo es el modo en el que el archivo será abierto.

Para abrir archivos de textos, el modo es r  para read.

Luego, usamos la función print() que imprime en la consola y toma como argumentos el nombre de la variable con la función read().

with  open('text.txt','r') as file:
    print(file.read())

Resultado:

Screenshot-2021-09-07-at-1.44.04-PM

Para leer un archivo en Python, podemos crear un bucle for iterando cada línea de texto a través de nuestro archivo:

with open("text.txt","r") as file:
    for line in file:
        print(line)

Resultado:

Screenshot-2021-09-07-at-1.46.25-PM

De esta manera, cada línea se imprime de forma separada.

Conclusión

Este artículo mostró algunos ejemplos simples de como escribir, editar y leer archivos en Python.

Si quieres aprender más acerca del lenguaje de programación Python, freeCodeCamp tiene una Certificación donde puedes empezar desde lo más básico y hasta los aspectos más complejos del lenguaje. Al final, construirás 5 proyectos, llevando a la práctica lo aprendido.

¡Muchas Gracias por leer y feliz aprendizaje!