[ Foro de Python ]
Buenas tardes, estoy aprendiendo a programar en Python 3 y me han surgido unas cuantas dudas, soy muy novato pero tengo ganas de aprender. Mi código es el siguiente:
import tkinter, matplotlib, numpy
from tkinter import *
from tkinter import font
import tkinter as tk
import os, sys, re
from string import capwords
class inicio:
def __init__(self, parent):
self.inicio = parent
self.inicio.geometry("300x210")
self.inicio.config(bg="lightblue")
self.inicio.title("Ventana de inicio")
frame = Frame(self.inicio, bg="blue")
frame.grid(row="0", column="0", columnspan="4", padx="10", pady="10")
self.lista = Listbox(frame, height="10")
self.lista.grid(row="0", column="0", rowspan="2", padx="15", pady="10")
por_defecto=open("por_defecto","w")
por_defecto.write("Pepe" +"\n"+ "Pérez" +"\n")
por_defecto.close()
self.lista.insert(END,"por_defecto")
scroll = Scrollbar(frame, borderwidth=3, orient=VERTICAL, command=self.lista.yview)
scroll.grid(row="0", column="1", rowspan="2", pady="10", sticky=N+S)
boton33 = Button(frame, text="Nueva", bg="#778899", font="georgia 10 bold", fg="white", heigh=2, width=7, padx="5", command=self.nuevo)
boton33.grid(row="0", column="2", padx="10", pady="5")
boton43 = Button(frame, text="Borrar", bg="#778899", font="georgia 10 bold", fg="white", heigh=2, width=7, padx="5", command= self.borrar)
boton43.grid(row="1", column="2", padx="10", pady="5")
def borrar(self):
try:
index = self.lista.curselection()[0]
self.lista.delete(index)
print (index)
os.remove('{0}.txt'.format(index))
except IndexError:
pass
def nuevo(self):
ventana1=tk.Toplevel(root)
def guardar():
fich = open('{0}.txt'.format(Para_guardar.get()), 'w')
nombre=capwords(Nombre.get())
apellidos=capwords(Apellidos.get())
para_guardar=capwords(Para_guardar.get())
fich.write(nombre+"\n"+apellidos+"\n")
fich.close()
#este fichero "listbox.txt" es para guardar la lista de elementos guardados
self.lista.insert(END, Para_guardar.get())
lb3 = open("listbox.txt","a")
lb3.write(para_guardar+"\n")
lb3.close()
ventana1.destroy()
text1=Label(ventana1, text="DATOS", padx="5", font="georgia 10 bold", fg="black")
text1.grid(row="0", column="0", columnspan="4", padx="7", pady="5", sticky="WE")
nombre=Label(ventana1, text="Nombre: ", font="georgia 8 bold", fg="black")
nombre.grid(row="1", column="0", columnspan="2", padx="7", pady="5", sticky="WE")
Nombre=StringVar()
Nombre.set("0.0")
Nombre_entry=Entry(ventana1, width="5", textvariable=Nombre)
Nombre_entry.grid(row="1", column="2", columnspan="2", padx="7", pady="5", sticky="WE")
apellidos=Label(ventana1, text="Apellidos: ", padx="5", font="georgia 8 bold", fg="black")
apellidos.grid(row="2", column="0", columnspan="2", padx="7", pady="5", sticky="WE")
Apellidos=StringVar()
Apellidos.set("0.0")
Apellidos_entry=Entry(ventana1, width="5", textvariable=Apellidos)
Apellidos_entry.grid(row="2", column="2", columnspan="2", padx="7", pady="5", sticky="WE")
Para_guardar = StringVar()
Para_guardar.set("Guardar como:")
Para_guardar_entry = Entry(ventana1, width="5", textvariable = Para_guardar)
Para_guardar_entry.grid(row="3", column="0", columnspan="2", sticky="WE", pady="5")
boton = Button(ventana1, text="Guardar", command=guardar)
boton.grid(row="3", column="3", padx="7", pady="5", sticky=W)
root = Tk()
programa = inicio(root)
root.mainloop()
Me gustaría saber como hago primero para eliminar (clickando en el boton correspondiente) los archivos txt que se crean, según el nombre que selecione en la Listbox.
Por otro lado, cuando guardo los nombres en el Listbox y cierro la aplicación, al volver a iniciarla me han desaparecido. Me gustaría saber cómo hago para que no se borren de una vez para otra.
Muchas gracias por todo
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)