2017-12-27 35 views
-2

대신 파일에 저장하고, 많은 양의 사용자가있는 데이터베이스/파일에 저장하는 방법을 궁금합니다. > 50로그인 스크립트 용으로 inbuilt Python 3.5 모듈을 사용하여 데이터베이스를 만드는 방법

부분을 파일로 저장하는 것은 다음과 같습니다 :

def FSSignup():#This defines FSSignup 

    with open(creds, 'w') as f: 
     f.write(nameE.get()) 
     f.write('\n') 
     f.write(pwordE.get()) 
     f.close() 

    roots.destroy() 
    login() 

이 내 주요 코드 :

from tkinter import * 
import os 
creds = "tempfile.temp" 

def signup(): 
    global pwordE 
    global nameE 
    global roots 

    roots = Tk() 
    roots.title("Signup") 
    instructions = Label(roots, text="Please enter new credentials:") 
    instructions.grid(row=0, column=0, sticky=E) 

    nameL = Label(roots, text="New Username") 
    pwordL = Label(roots, text = "New Password") 
    nameL.grid(row=1, column=0, sticky=W) 
    pwordL.grid(row=2, column=0, sticky=W) 

    nameE = Entry(roots) 
    pwordE= Entry(roots, show='"') 
    nameE.grid(row=1, column=1) 
    pwordE.grid(row=2, column=1) 

    signupB = Button(roots, text="Signup", command=FSSignup) 
    signupB.grid(columnspan=2, sticky=W) 

    roots.mainloop()# 

def FSSignup(): 

    with open(creds, 'w') as f: 
     f.write(nameE.get()) 
     f.write('\n') 
     f.write(pwordE.get()) 
     f.close() 

    roots.destroy() 
    login() 

def login(): 
    global nameEL 
    global pwordEL 
    global rootA 

    rootA = Tk() 
    rootA.title("Login") 

    instruction = Label(rootA, text="Enter your credentials") 
    instruction.grid(sticky=E) 

    nameL = Label(rootA, text="Username") 
    pwordL = Label(rootA, text="Password") 
    nameL.grid(row=1, sticky=W) 
    pwordL.grid(row=2, sticky=W) 

    nameEL = Entry(rootA) 
    pwordEL = Entry(rootA, show='"') 
    nameEL.grid(row=1, column=1) 
    pwordEL.grid(row=2, column=1) 

    loginB = Button(rootA, text="Login", command=CheckLogin) 
    loginB.grid(columnspan=2, sticky=W) 

    rmuser = Button(rootA, text="Delete User", fg="red", command=DelUser) 
    rmuser.grid(columnspan=2, sticky=W) 

    rootA.mainloop() 
def CheckLogin(): 
    with open(creds) as f: 
     data = f.readlines() 
     username = data[0].rstrip() 
     pword = data[1].rstrip() 

    if nameEL.get() == username and pwordEL.get() == pword: 
     r =Tk() 
     r.title("Successful Login") 
     r.geometry("150x50") 
     rL = Label(r, text="\n[+]Logged In") 
     rL.pack() 
     r.mainloop() 
    else: 
     r =Tk() 
     r.title("Invalid Login") 
     r.geometry("150x50") 
     rL = Label(r, text="\n[+]Invalid Login") 
     rL.pack() 
     r.mainloop() 

def DelUser(): 
    os.remove(creds) 
    rootA.destroy 
    signup() 

if os.path.isfile(creds): 
    login() 
else: 
    signup() 
+0

들으 이 사이트의 형식을 사용하지 않는 약간 지저분한 편집 – aPythonUser

답변