Не могу разобраться в pickle, хелп. (в def save())
#coding: utf-8
from tkinter import *
from tkinter import messagebox
import pickle
passs = 0
loggg = 0
root = Tk()
root.geometry("300x500")
root.title("Вход/регистрация")
def log ():
global e2
global e3
global b2
global e
global reg
t = Label(root, text = "Зарегистрируйтесь для входа", font="Arial 16")
t.pack()
t1 = Label(root, text = "Логин:", font="Arial 10")
t1.pack()
e = Entry()
e.pack()
t2 = Label(root, text = "Пароль:", font="Arial 10")
t2.pack()
e2 = Entry(show="*")
e2.pack()
t3 = Label(root, text = "Повторите пароль:", font="Arial 10")
t3.pack()
e3 = Entry(show="*")
e3.pack()
reg = Button(root, text="Зарегистрироваться", overrelief="sunken", command = lambda: check())
reg.pack()
b2 = Button(root, text="Раскрыть пароль", command = lambda: offe(), overrelief="sunken")
b2.pack()
def offe():
e2.config(show="")
e3.config(show="")
b2.config(command = lambda: offe2(), text="Раскрыть пароль")
def offe2():
e2.config(show="*")
e3.config(show="*")
b2.config(command = lambda: offe(), text = "Скрыть пароль")
def check():
if(e.get() == "" or e3.get() == "" or e2.get() == ""):
messagebox.showwarning("Ошибка", "Вы должны заполнить все пустые поля.")
if e.get() == "" and e2.get() == "" and e3.get() == "":
e.config(bg="orange")
e2.config(bg="orange")
e3.config(bg="orange")
elif e.get() == "" and e2.get() == "":
e.config(bg="orange")
e2.config(bg="orange")
e3.config(bg="white")
elif e.get() == "" and e3.get() == "":
e.config(bg="orange")
e3.config(bg="orange")
e2.config(bg="white")
elif e.get() == "":
e.config(bg="orange")
e2.config(bg="white")
e3.config(bg="white")
elif e2.get() == "" and e3.get() == "":
e2.config(bg="orange")
e3.config(bg="orange")
e.config(bg="white")
elif e2.get() == "" and e.get() == "":
e2.config(bg="orange")
e.config(bg="orange")
e3.config(bg="white")
elif e2.get() == "":
e2.config(bg="orange")
e.config(bg="white")
e3.config(bg="white")
elif e3.get() == "" and e.get() == "":
e3.config(bg="orange")
e.config(bg="orange")
e2.config(bg="white")
elif e3.get() == "" and e2.get() == "":
e2.config(bg="orange")
e3.config(bg="orange")
e.config(bg="")
elif e3.get() == "":
e3.config(bg="orange")
e2.config(bg="white")
e.config(bg="white")
else:
if e3.get() == e2.get():
e.config(state=DISABLED)
reg.config(state=DISABLED)
e3.config(state=DISABLED)
e2.config(state=DISABLED)
e.config(disabledbackground="white", disabledforeground="black")
e3.config(disabledbackground="#32CD32", disabledforeground="black", show="*")
e2.config(disabledbackground="#32CD32", disabledforeground="black", show="*")
global save
save()
else:
e3.config(state=NORMAL)
e.config(bg="white")
e2.config(state=NORMAL)
e3.config(background="red")
e2.config(background="red")
messagebox.showerror("Ошибка", "Пароли не совпадают!")
def save():
sev_pass = {e3.get()}
sev_pass [e3.get()] = e2.get()
sev_login = {e.get()}
file = open("logins.txt", "wb")
pickle.dump(sev_pass, sev_login, file)
file.close()
password()
def password ():
file = open("logins.txt", "rb")
sev_pass = pickle.load(file)
sev_login = pickle.load(file)
sev_pass, sev_login
file.close()
t1 = Label(root, text = "Вход в систему", font="Arial 16")
t1.pack()
global e21
global e31
global b2
global e1
global e21
t11 = Label(root, text = "Логин:", font="Arial 10")
t11.pack()
e1 = Entry()
e1.pack()
t21 = Label(root, text = "Пароль:", font="Arial 10")
t21.pack()
e21 = Entry(show="*")
e21.pack()
reg1 = Button(root, text="Вход", overrelief="sunken", command = lambda: logged())
reg1.pack()
b21 = Button(root, text="Раскрыть пароль", command = lambda: offe1(), overrelief="sunken")
b21.pack()
def offe1():
e21.config(show="")
b21.config(command = lambda: offe21(), text="Раскрыть пароль")
def offe21():
e21.config(show="*")
b21.config(command = lambda: offe1(), text = "Скрыть пароль")
def logged():
if sev_pass == e21 and sev_login == e1:
success = Label(text = "Вы успешно вошли в аккаунт", fg ="green")
messagebox.showinfo("Успешно", "Вы вошли в аккаунт.")
e1.config(disabledbackground="green")
e21.config(disabledbackground="green")
else:
messagebox.error("Ошибка", "Неверный логин/пароль!")
log()
root.mainloop()