Задать вопрос
@expp

Tkinter. Данные пропадают после закрытия программы. Как это исправить?

Добрый день. Решил написать программу, которая могла бы сохранять данные типа ключ-значение(в моем случае login:password), которые ввел пользователь или же выводит ему значение, если он(уже в другое отделение) введет ключ.
Суть проблемы в том, что данные сохраняются только на время работы программы, то есть если закрыть программу, то ранее введенные данные будут удалены. Как же это исправить и сделать "многоразовое" сохранение данных? Спасибо.
Сам код:
spoiler
# Import
from tkinter import *
from tkinter import messagebox

#Window settings
root = Tk()
root.resizable( width = False, height = False)
root.geometry("500x400")
root.title("Auto")
root["bg"] = "#262927"
root.iconbitmap( "D:/code/eye.ico" )

# Dict

passwords = {"login: password"}

# Function
def save ( event ):
Z = repeat.get()
O = password_repeat.get()
passwords[Z] = O
messagebox.showinfo("Успех", "Я все сохранил")

def check ( event ):
L = login.get()
if L in passwords:
messagebox.showinfo("Успех", f"Пароль: {passwords[L]}")
else:
messagebox.showerror("Нету", "Извини, такого не держим")

# Button
login_text = Label(text = "Введите данные", font = "Bahnschrift 20", fg = "#b9ffb0", bg = "#262927")

login = Entry(root,
font = "Bahnschrift 20",
bg = "#0c0d0c",
fg = "#cfcfcf",
relief = "solid",
justify = "center")

pass_text = Label(text = " ", bg = "#262927" )

enter = Button(text = "Узнать информацию",
fg = "#ccc",
bg = "#000000",
font = "Bell 20",
activeforeground = "#ccc",
activebackground = "#ffffff",
relief = "solid",

)

pass_text1 = Label(text = " ", bg = "#262927" )

repeat_text = Label(text = "Введите логин",
font = "Bahnschrift 20",
fg = "#b9ffb0",
bg = "#262927")

repeat = Entry(root,
font = "Bahnschrift 20",
bg = "#0c0d0c",
fg = "#cfcfcf",
relief = "solid",
justify = "center")

password_text = Label(text = "Введите пароль",
font = "Bahnschrift 20",
fg = "#b9ffb0",
bg = "#262927")

password_repeat = Entry(root,
font = "Bahnschrift 20",
bg = "#0c0d0c",
fg = "#cfcfcf",
relief = "solid",
justify = "center")

pass_text2 = Label(text = " ", bg = "#262927" )

password_button = Button(text = "Сохранить информацию",
fg = "#ccc",
bg = "#000000",
font = "Bell 20",
activeforeground = "#ccc",
activebackground = "#ffffff",
relief = "flat"
)

# Pack
login_text.pack()
login.pack()
pass_text.pack()
enter.pack()
pass_text1.pack()
repeat_text.pack()
repeat.pack()
password_text.pack()
password_repeat.pack()
pass_text2.pack()
password_button.pack()

# Binds
enter.bind("", check)
password_button.bind("", save)

root.mainloop()
  • Вопрос задан
  • 180 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 1
Почитай про способы хранение данных в python. В твоём случае ты можешь использовать как альтернативу json. И соблюдай pep8 хоть немного.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
а Вы не боитесь публиковать код Вашей супер программы, тем более если она хранит такие важные данные как логин и пароль ?
5eb83faa4d2b2929118746.png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы