Cargando...

Cómo implementar operaciones CRUD un archivo externo

Publicación: Marzo 2, 2026
Última revisión: Marzo 4, 2026

Hasta el momento todas nuestras variables han sido locales por ejecución. Es decir, si a = 5, la variable va a existir única y exclusivamente cuando corramos el programa; en el momento en el que se termina/detiene su ejecución, se libera el espacio en memoria reservado para almacenar su valor. Entonces, ¿cómo guardamos, por ejemplo, el puntaje record de un jugador? ¿Cómo almacenamos datos? Más adelante estudiaremos cómo almacenar datos en una base de datos relacional, pero por el momento aprenderemos cómo guardar nuestra información en archivos de texto.

¿Qué es CRUD?

La administración de archivos se basa en cuatro operaciones básicas:

C: Create Crear

R: Read Leer

U: Update Actualizar

D: Delete Eliminar

En python trabajamos con la función open(), la cual toma dos parámetros: filename (nombre del archivo) y mode (modo).

Existen cuatro métodos (modos) para abrir un archivo:

"r"ReadValor por default, sólo puedes leer su contenido. Muestra error si el archivo no existe.

"a"AppendAgrega contenido al archivo (al final). Crea el archivo si no existe.

"w"WriteEscribe (sobre-escribe) el archivo. Crea el archivo si no existe.

"x"CreateCrear el archivo. Muestra error si el archivo no existe.

¿Cómo abrir/leer un archivo?

open("test.txt")

"r"ReadValor por default, sólo puedes leer su contenido. Muestra error si el archivo no existe.

Primero crea un archivo con extensión .txt (texto plano).

En PyCharm

  1. En la parte superior del IDE, abajo de la barra de herramientas busca un símbolo de “+”.
  2. Sa click y selecciona “Nuevo archivo o directorio”.
  3. Crea “test.txt”

En la consola

  1. Ingresa hasta el directorio deseado. Ej: cd Desktop
  2. Crea y escribe el contenido del contenido con nano: nano test.txt
  3. Corrobora que se haya guardado tu archivo correctamente. Ejemplo: “May the force be with you”

Abrir el archivo

file = open("test.txt")
contents = file.read()
print(contents)
file.close()
May the force be with you
Cuando abrimos un archivo, es muy importante cerrarlosfile.close()

Si queremos no tener que preocuparnos por esto, es conveniente emplear la sentencia with

with open("test.txt") as file:
	contents = file.read()
	print(contents)

FileNotFoundError: En caso de que no se encuentre el archivo (nombre/ruta incorrecta), podemos manejar este error con las sentencias try y except

try:
    with open("test2.txt") as file: # Wrong file name on purpose
        contents = file.read()
        print(contents)
except FileNotFoundError:
    print("You misspelt the file's name or is in another location")

¿Cómo escribir sobre un archivo?

Sobre-escribir un archivo

"w"WriteEscribe (sobre-escribe) el archivo. Crea el archivo si no existe.

with open("test.txt", mode="w") as file:
	file.write("New text")

test.txt

New text

Agregar contenido un archivo

"a"AppendAgrega contenido al archivo (al final). Crea el archivo si no existe.

with open("test.txt", mode="a") as file:
	file.write("\nNew text.")

test.txt

May the force be with you
New text.

Crear un nuevo archivo

"x"CreateCrear el archivo. Muestra error si el archivo no existe.

with open("new_file.txt", mode="x") as file:
	file.write("New text.")

new_file.txt

New text.

Rutas relativas vs absolutas

Ruta absoluta: Todos los directorios por los cuales debemos pasar desde el directorio raíz para llegar a nuestro archivo

Ej: /Users/vanessa/Desktop/test.txt

Ruta relativa: De acuerdo a dónde estoy, ¿hacia dónde me debo mover para llegar hacia el archivo?

Ej: /test.txt

Métodos importantes

.readlines()

Leer las múltiples lineas de un archivo

with open("TheKing.txt") as file:
    verses = file.readlines()
    for i in verses:
        print(i)
The King

Song by Sarah Kinsley ‧ 2021

[...]

I'm your king

I wanna be the king

.strip(characters)

Eliminar caracteres de una cadena

word = ",,..banana..,,.."
x = word.strip(",.")
print(x)
banana

.split(separator)

Separar elementos de una cadena y generar una lista con ellos

groceries = "milk, soap, bananas, toilet paper, shampoo, rice"
items = groceries.split(", ")
print(items)
['milk', 'soap', 'bananas', 'toilet paper', 'shampoo', 'rice']

.replace(oldvalue, newvalue)

Remplazar caracteres de una cadena

txt = "__________Batman"
x = txt.replace("_", f"na ")
print(x)
na na na na na na na na na na Batman

Actividad

Solución

Automatiza la creación de invitaciones para una fiesta

  1. Crea el archivo starting_letter.txt y redacta una invitación para una fiesta (ej: tu fiesta de cumpleaños). Agrega [name] en el lugar del nombre. Ejemplo:

    Hola [name]!
    
    Te invito a mi fiesta este sábado!
    
    Espero que puedas venir :D
    
    Atte.
    Cardui
          
  2. Crea una lista de invitados en invited_names.txt. Ejemplo

    Aang
    Zuko
    Appa
    Katara
    Sokka
    Momo
    Iroh
    Toph
            
  3. Remplaza [name] con cada nombre del otro archivo.
  4. Guarda cada archivo como letter_to_name.txt en otra carpeta

    Ejemplo:

    example.txt

    Hola Aang!
    
    Te invito a mi fiesta este sábado!
    
    Espero que puedas venir :D
    
    Atte.
    Cardui
            

Etiquetas relacionadas:
Arriba