Найти - Пользователи
Полная версия: Pickle
Начало » Центр помощи » Pickle
1
Fedy1661
Не могу разобраться в 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()
FishHook
Fedy1661
Вопрос то в чем?
Fedy1661
FishHook
Fedy1661Вопрос то в чем?
Как записывать и читать файл
FishHook
Fedy1661
Как записывать и читать файл
Так написано же
https://docs.python.org/3/library/pickle.html#pickle.dump
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB