Introducir las notas de un alumno, en un archivo llamado datos.txt, si el usuario pulsa Almacenar o Salir para abandonar el programa. Pantalla será similar a la siguiente:
Código
import os
from tkinter import *
ventana = Tk()
def guardar_archivo():
#Saca los datos del entorno gráfico
nombre=nombre_p.get()
nota=nota_p.get()
resultado=nombre+"\t"+nota
datos.set(resultado)
nombre_archivo="datos1.txt"
#Verifica si existe el archivo, para saber como debe abrirlo
if os.path.exists(nombre_archivo):
print("Existe el archivo")
existe="a"
else:
print("El archivo no existe")
existe="w"
#Guarda los datos
archivo=open(nombre_archivo,existe)
archivo.write(nombre+";"+nota+"\n")
archivo.close()
# damos título a la ventana
ventana.title("Ejemplo con marco")
# la hacemos de dimensiones fijas
ventana.resizable(False, False)
# ancho y alto de la ventana
ventana.geometry("550x550")
# etiqueta del título del formulario (no de la ventana)
#Crea los widgets
nombre_e=Label(ventana,text="Nombre")
nombre_e.grid(row=5,column=10)
nombre_p=Entry(ventana)
nombre_p.grid(row=5,column=15)
nota_e=Label(ventana,text="Nota")
nota_e.grid(row=7,column=10)
nota_p=Entry(ventana)
nota_p.grid(row=7,column=15)
#Crea el marco para agrupar los botones
marco=LabelFrame(ventana,text="Agrupar botones")
marco.grid(row=10,column=20)
datos=StringVar()
mensaje=Label(ventana,textvariable=datos)
mensaje.grid(row=11,column=10)
guardar=Button(marco,text="Almacenar",command=guardar_archivo)
guardar.grid(row=8,column=20)
salir=Button(marco,text="Salir",command=ventana.destroy)
salir.grid(row=8,column=30)
ventana.mainloop()