Почему не сохраняется переменная в json?
https://pastebin.com/64w5zQpF - вот пастбин. Не сохраняется переменная cont в строку "content" в json, а появляется просто пустота, то есть "content": "".
Код фрагмента с проблемой:
def noteedit():
window1 = Tk()
window1.geometry('900x600')
window1.title('Редактирование заметки')
text = Text(window1)
text.place(x=1, y=10)
def textget():
global cont
cont = text.get(1.0, END)
print(cont)
newnote = {
"content": cont
}
with open("./notes.json", "w") as f:
json.dump(newnote, f)
print(f)
b3 = Button(window1)
b3.place(x=10, y=400, width = 120, height = 40)
b3.configure(text='Сохранить', command=textget)
Прошу заметить, что ошибки нет. Просто не сохраняется переменная в строку json.
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
Функция textget, в которой происходит заполнение переменной cont, у вас вызывается в момент нажатия кнопки. А вы пытаетесь получить значение переменной до того как кнопка нажата, даже до того как кнопка создана. Нужно перенести сохранение в файл внутрь функции textget, чтобы сохранение также происходило после нажатия на кнопку:
def textget():
cont = text.get(1.0, END)
print(cont)
newnote = {
"content": cont
}
with open("./notes.json", "w") as f:
json.dump(newnote, f)
b3 = Button(window1)
b3.place(x=10, y=400, width = 120, height = 40)
b3.configure(text='Сохранить', command=textget)