Pero ahora tenemos que hacer que cuando un archivo se abra por ejemplo en modo lectura,crear una función (def) para hacer eso mismo.
Es decir
Código:
#De hacer esto
file = open("name.txt","r")
#A esto
def open_read():
file = open("name.txt","r")
file = open("name.txt","r")
#A esto
def open_read():
file = open("name.txt","r")
Este es mi código
Código
import os clear = lambda: os.system('cls') def encontrar_alumno(num_alumno): archivo = open(nom_archivo,"r") alumnos = archivo.readlines() tot_alumnos = len(alumnos) for indice in range(tot_alumnos): el_alumno = alumnos[indice] alumno_leido = el_alumno.split(' ') if alumno_leido[0]==num_alumno: return alumno_leido archivo.close() return '' def consulta_ape(): lista_ape = [] # lista a usar para agregar pertenencia archivo = open(nom_archivo, 'r') alumnos = archivo.readlines() tot_alumnos = len(alumnos) while True: clear() el_apellido = input('Ingrese Apellido a buscar (s para salir): ').capitalize() if el_apellido.isalpha(): if el_apellido.lower() =='s': break else: for indice in range(tot_alumnos): el_alumno = alumnos[indice] alumno_leido = el_alumno.split(' ') if alumno_leido[1]==el_apellido: lista_ape.append(alumno_leido) archivo.close() clear() print (f'Alumnos con el apellido {el_apellido} encontrados') print() print ('Nro. Apellido Nombre Materia Grupo Nota') print('--------------------------------------------------') for alumno in lista_ape: for data in alumno: print (data, end=' ') print() print() print('Pulse <Intro para volver al menu>') input() ############ def buscar_grupo(): lista_grupo = [] archivo = open(nom_archivo, 'r') alumnos = archivo.readlines() tot_alumnos = len(alumnos) while True: clear() nro_grupo = input('Ingrese Nro. Grupo (0 para salir): ') if nro_grupo.isdigit(): if nro_grupo =='0': break else: for indice in range(tot_alumnos): el_alumno = alumnos[indice] alumno_leido = el_alumno.split(' ') if alumno_leido[4]==nro_grupo: lista_grupo.append(alumno_leido) archivo.close() print ('Nro. Apellido Nombre Materia Grupo Nota') print('------------------------------------------') for alumno in lista_grupo: for data in alumno: print (data, end=' ') print() print() print('Pulse <Intro para volver al menu>') input() def agregar(): dato_alumno = [] while True: clear() nro_alumno = input('Ingrese Nro. de Alumno (0 para salir): ') if nro_alumno.isdigit(): if nro_alumno =='0': break else: alumno_encontrado = encontrar_alumno(nro_alumno) if alumno_encontrado =='': #archivo = open(nom_archivo, 'a') apellido = input('Ingrese Apellido : ').capitalize() nombre = input('Ingrese Nombre : ').capitalize() materia = input('Ingrese Materia : ').capitalize() grupo = input('Ingrese Grupo : ') nota = input('Ingrese Nota :') dato_alumno.append(nro_alumno) dato_alumno.append(apellido) dato_alumno.append(nombre) dato_alumno.append(materia) dato_alumno.append(grupo) dato_alumno.append(nota) archivo = open(nom_archivo,"a") for data in dato_alumno: archivo.write(data+' ') archivo.write('\n') archivo.close() dato_alumno = [] else: print() input ('Nro de alumno ya existe, use otro.') else: input ('Debe ser un numero, repita') def lista(): clear() archivo = open(nom_archivo,"r") alumnos = archivo.read() print ('Lista de Alumnos') print ('-----------------') print() print (alumnos) print() print('Pulse <Intro para volver al menu>') input() archivo.close() def consultar(): while True: clear() try: num_alumno = input('Ingrese Nro de alumno a Consultar (0 para regresar): ') if num_alumno=='0': break else: alumno_encontrado = encontrar_alumno(num_alumno) if alumno_encontrado !='': print ('Nro Alumno: ',alumno_encontrado[0]) print ('Apellido : ',alumno_encontrado[1]) print ('Nombre : ',alumno_encontrado[2]) print ('Materia : ',alumno_encontrado[3]) print ('Nota : ',alumno_encontrado[4]) print () print('Pulse <Intro para volver al menu>') input() break else: print () print ('Alumno no encontrado') print () print('Pulse <Intro para volver al menu>') input() break except ValueError: pass def menu(): while True: clear() try: print('Menu Principal') print('------------') print() print('1. Agregar Alumno') print('2. Lista de Alumnos') print('3. Consultar Alumno x nro.') print('4. Consultar Alumno x Apellido.') print('5. Consultar Grupo') print('6. Salir') print() opcion = int(input('Ingrese opcion: ')) if opcion == 6: break elif opcion == 1: agregar() elif opcion == 2: lista() elif opcion == 3: consultar() elif opcion == 4: consulta_ape() elif opcion==5: buscar_grupo() except ValueError: pass if __name__ == "__main__": nom_archivo = 'estudiantes.txt' menu()
Pero si remplazo todo por funciones me salen errores de todo tipo,y bueno puedo decir que ya estoy a nada de rendirme
Espero haberme explicado correctamente
Gracias de antemano