سیو نشدن در پایتون
-
سلام وقتتون بخیر
من یک لیست ساده با استفاده از کتابخانه tkinter پایتون ایجاد کردم و اون را به فایل اجرایی exe تبدیل کردم وقتی فایل اجرایی باز می کنم و اسامی که می نویسم به لیست اضافه شده و آن را نمایش می دهد اما وقتی برنامه را می بندم و دوباره باز می کنم کلمات سیو شده در لیست که وارد کردم را نمایش نمی دهد و انگار که برنامه از اول اجرا می شد.#importing libraries import datetime from tkinter import * def time() : datetime_object = datetime.datetime.now() #inserting items in list_box def insert_element(): list_box.insert(END,name_entry.get()) list_box.insert(END,time()) def delete(): list_box.delete(0,END) #function to clear all the data in list_box def clear_box(): send_delet = Button(window,text='حذف کن', fg='black', background='yellow', font=('arial', 20),command=delete) send_delet.pack() send_delet = Button(window,text='حذف نکن', fg='black', background='yellow', font=('arial', 20)) send_delet.pack() # building a window window = Tk() window.title("icc-aria gui app") #an entry for giving the elements we want to add name_entry = Entry(window) name_entry.pack() #a button to send the entries to listbox send_btn8 = Button(window,text='اسال کن', fg='black', background='yellow', font=('arial', 20),command=insert_element) send_btn8.pack() #a button to clear all the contents in box send_btn = Button(window,text="همه را حذف کن",command=clear_box) send_btn.pack() #creating a list box for elements top = Toplevel() list_box = Listbox(top) list_box.pack() frame = Frame(top, width=300, height=500, bg="pink") frame.pack() #creating the loop for the program frame = Frame(window, width=300, height=500, bg="pink") frame.pack() top.title("this is a list") window.title("write a list") window.mainloop()
این هم قطعه کدی که در پایتون نوشتم
ممنون می شم راهنمایی کنید. -
سلام
به نظرم علت این هست که شما لیست رو جایی مثل فایل ذخیره نمی کنید و همه تغییرات در داخل رم هست که با بسته شدن برنامه، لیست تون هم از بین میره. -
سلام
من خیلی حرفه ای نیستم
ولی پیشنهاد می کنم که اطلاعاتی را که می خواهی ذخیره کنی را داخل یک فایل متنی با استفاده از json.dump ذخیره کن و سپس با json.load دوباره آنها را فراخوانی کن