hi
Im trying to save all the generated numbers from my generator to a text file with file save dialog but it only saves the last line and the text file does not have *.txt for some reason. Could any one help me out?
Im trying to save all the generated numbers from my generator to a text file with file save dialog but it only saves the last line and the text file does not have *.txt for some reason. Could any one help me out?
from tkinter import * import tkinter as tk from tkinter import filedialog import sys, os import io class StatusBar(Frame): def __init__(self, master): Frame.__init__(self, master) #self.file = io.open('märkning.txt', 'wt', encoding='utf8') def funktion(self): value1 = (a1.get()) value2 = (a2.get()) value3 = (a3.get()) #value4 = (a4.get()) for parts in range(value3): print('{}-{}-{}-{}\n'.format(value1, value2, parts+1, parts+1)) #self.file.writelines('{}-{}-{}-{}\n'.format(value1, value2, parts+1, parts+1)) a4.set('{}-{}-{}-{}\n'.format(value1, value2, parts+1, parts+1)) #Vad ska programet göra när den stängs av. def On_exit(self): try: #stänger ner data filer och sparar data. self.file.close() #stäng av prgramet self.master.destroy() except: self.master.destroy() #Koden är en del av entry's endast nummer restriktion def validate(self, action, index, value_if_allowed, prior_value, text, validation_type, trigger_type, widget_name): if text in '0123456789.-+': try: float(value_if_allowed) return True except ValueError: return False else: return False def file_save(self): #file = filedialog.asksaveasfilename(initialdir = "/",title = "Select file",filetypes = (("txt files","*.txt"),("all files","*.*"))) file = filedialog.asksaveasfile(mode='wt', filetypes = (("txt files","*.txt"),("all files","*.*"))) value4 = (a4.get()) if file: file.writelines(value4) file.close() if __name__ == "__main__": root = tk.Tk() status = StatusBar(root) root.protocol("WM_DELETE_WINDOW", status.On_exit) Frame = tk.Frame(root, borderwidth=10) Frame.grid(column=0, row=0, sticky=(N, W, E, S)) #Koden är en del av entry's endast nummer restriktion vcmd = (Frame.register(status.validate), '%d', '%i', '%P', '%s', '%S', '%v', '%V', '%W') a1 = StringVar() a2 = StringVar() a3 = IntVar() a4 = StringVar() text1 = Label(Frame, text="Kabelnamn:", font=("Helvetica", 12, "bold")).grid(column=0, row=0, sticky=(W), columnspan=2) Kabelnamn_entry = tk.Entry(Frame, font=('Helvetica', 12, 'bold'), textvariable=a1) Kabelnamn_entry.grid(column=0, row=1, sticky=(W, E), columnspan=2) Kabelnamn_entry.delete(0, END) text2 = Label(Frame, text="Kabelnummer:", font=("Helvetica", 12, "bold")).grid(column=0, row=2, sticky=(W), columnspan=2) Kabelnummer_entry = tk.Entry(Frame, font=('Helvetica', 12, 'bold'), textvariable=a2) Kabelnummer_entry.grid(column=0, row=3, sticky=(W, E), columnspan=2) Kabelnummer_entry.delete(0, END) text3 = Label(Frame, text="Parter:", font=("Helvetica", 12, "bold")).grid(column=0, row=4, sticky=(W), columnspan=2) part_entry = tk.Entry(Frame, font=('Helvetica', 12, 'bold'), textvariable=a3, validate = 'key', validatecommand = vcmd) part_entry.grid(column=0, row=5, sticky=(W, E), columnspan=2) part_entry.delete(0, END) button1 = tk.Button(Frame, text="Make", command=status.funktion, width = 16) button1.grid(column=0, row=6, sticky=(W, E), columnspan=4) button2 = tk.Button(Frame, text="Spara", command=status.file_save, width = 16) button2.grid(column=0, row=7, sticky=(W, E), columnspan=4) root.update() root.resizable(width=False, height=False) root.mainloop()