"albums_data.py"및 "album.py"에 사전이 기본 프로그램으로 있습니다. 주 프로그램의 add_one()
기능을 업데이트하여 사전의 실제 상태를 "albums_data.py"에 기록하고 일부 데이터가 사전에 추가 된 후 저장해야합니다 (add_one()
기능 사용)..py 파일에 사전을 쓰는 방법은 무엇입니까?
import tkinter
from albums_data import *
root=tkinter.Tk()
root.title("DICT example")
#Functions
def show_all():
#clear the listbox
lb_music.delete(0,"end")
#iterate throught the keys and add to the listbox
for artist in albums:
lb_music.insert("end",artist)
def show_one():
artist=lb_music.get("active") #active is clicked field
album=albums[artist]
msg=artist+" - "+album
lbl_output["text"]=msg #Ready is replaced with msg
def add_one():
info=txt_input.get()
split_info=info.split(",") #list is created after is separated with ","
artist=split_info[0]
album=split_info[1]
albums[artist]=album
show_all()
txt_input.delete(0,"end")
#write to .py file (not worked to txt also) ->permission denied
f = open("albums_data.py","w")
f.write(str(albums))
f.close()
#GUI
lbl_output=tkinter.Label(root,text="Ready")
lbl_output.pack()
txt_input=tkinter.Entry(root)
txt_input.pack()
lb_music=tkinter.Listbox(root)
lb_music.pack()
btn_show_all=tkinter.Button(root,text="Show all",command=show_all)
btn_show_all.pack()
btn_show_one=tkinter.Button(root,text="Show one",command=show_one)
btn_show_one.pack()
btn_add_one=tkinter.Button(root,text="Add one",command=add_one)
btn_add_one.pack()
root.mainloop()
명확한 질문이 필요합니다. –
이것은 매우 나쁜 생각입니다. 대신 [JSON] (https://docs.python.org/3/library/json.html)을 사용하십시오. –