Leer archivo, modificar datos y guardarlos

Enunciado

Tengo las calificaciones de N alumnos de la asignatura X, del primer primer y segundo parcial La información está almacenada, en un archivo llamado “notas_x.txt” cada alumno es una fila y los datos separado por ; , de la siguiente manera “Juan”;4.5,3.4.

Crear un programa que permita modificar la nota del primer parcial de un alumno que previamente se le pregunta al usuario. Y esa información quede almacenada en el archivo con el mismo nombre.

Partiendo que el usuario teclea correctamente una nota válida.

Código

import os
#Nombre del archivo
archivo_nombre="notas_x.txt.txt"
if os.path.exists(archivo_nombre):
    #Si existe el archivo
    matriz=[]
    with open(archivo_nombre,"r") as archivo:
        #Crea la matriz
         for i in archivo.readlines():
           
            lista=i.split(";")
            matriz.append(lista)
    
    if matriz:
        #Si hay datos en la matriz se pide el nombre y la calificación
        alumno=input("Dame el nombre")
        existe=True
        for i in range(len(matriz)):
            if alumno==matriz[i][0]:
                nota=float(input("Dame el nota"))
                matriz[i][0]=alumno
                matriz[i][1]
                existe= False
        if existe==False:
            #Se guardar de nuevo todos los datos en el archivo partícula w hay que borrar el que existe
            with open(archivo_nombre,"w") as archivo:
                for i in range(len(matriz)):
                    cadena=matriz[i][0]+";"+str(matriz[i][1])+";"+str(matriz[i][2])+"\n"
                    archivo.write(cadena)
        else:
            print("El alumno no existe")
else:
    print("el archivo no existe")

Ojo: Hay que abrir con la partícula w, para que borre el archivo anterior, y guarde el nuevo valor.

Última actualización