I keep getting a not defined eror when my variable is clearly defined what am i doing wrong? I pasted a majority of the code because there may be more than 1 factor. Thanks for any help
My Error
return self.func(*args)
File "c:/Users/dacos/Documents/text.py", line 43, in click
file=open(user_info,"w")
NameError: name 'user_info' is not defined
(To get to the line of error navigate to the function session() then function click() user_info was defined in the function regiser_user()(bottom of the code) where i made it global) All of the code:
def session():
registerbutton.pack_forget()
loginbutton.pack_forget()
title.pack_forget()
global count
global clicker
clicker1 = Label(screen, text="click me", font=("Ink Free", 25))
clicker1.pack()
def click():
global count
count+=variable
clicker1.config(text=count)
global user_info
file=open(user_info,"w")
file.write("lifetime Clicks: " + str(filecount) + "\n")
file.write("Coins: " + str(filecoins))
file.close()
button = Button(screen,text='Click me!!!')
button.config(command=click)
button.config(font=('Ink Free',50,'bold'))
button.config(bg="#6f00ff")
button.config(fg="#00ffe1")
button.config(activebackground="#00ff73")
button.config(activeforeground="#00ff73")
button.pack()
x2 = Button(text="Button", command=x2clicks)
x2.pack()
def login_verify():
username1 = username_verify.get()
password1 = password_verify.get()
username_entry1.delete(0, END)
password_entry1.delete(0, END)
list_of_files = os.listdir()
if username1 in list_of_files:
file1 = open(username1, "r")
verify = file1.read().splitlines()
if password1 in verify:
login_success()
if filecount in file1:
count1 = filecount
print("yes")
else:
print("no")
else:
notf = Button(screen2,fg="#ff0000", bg="#000000",font=("Ink Free", 25), text="Username or password not found register instead?", command= register)
notf.pack()
def login():
global screen2
screen2 = Toplevel(screen)
screen2.title("Login")
screen2.geometry("1700x1000")
screen2.config(bg= "#000000")
Label(screen2, text = "Please enter details below to login", font=("Ink Free", 50)).pack()
Label(screen2, text = "", bg="#000000").pack()
global username_verify
global password_verify
username_verify = StringVar()
password_verify = StringVar()
global username_entry1
global password_entry1
Label(screen2, text = "Username * ", font=("Ink Free", 25)).pack()
username_entry1 = Entry(screen2, textvariable = username_verify, font=("Ink Free", 20))
username_entry1.pack()
Label(screen2, text = "", bg="#000000").pack()
Label(screen2, text = "Password * ",font=("Ink Free", 25)).pack()
password_entry1 = Entry(screen2, textvariable = password_verify, font=("Ink Free", 20), show="*")
password_entry1.pack()
Label(screen2, text = "", bg="#000000").pack()
Button(screen2, text = "Login", width = 10, height = 1,font=("Ink Free", 20), command = login_verify).pack()
def register():
global regscreen
regscreen = Toplevel(screen)
regscreen.title("Register")
regscreen.geometry("1700x1000")
title.pack()
label3 = Label(screen,text="", height= 12,bg="#000000")
global password
global username
username = StringVar()
password = StringVar()
Label(regscreen, text = "Please enter details: ", font=("Ink Free", 50),bg="#ffffff").pack()
Label(regscreen, text = "Username * ",font=("Ink Free", 25),bg="#ffffff").pack()
global user_entry
global pass_entry
user_entry = Entry(regscreen,bg="#666666",font=("Ink Free",20), textvariable = username,width=50)
user_entry.pack()
Label(regscreen, text = "",bg="#000000").pack()
Label(regscreen, text = "Password * ",font=("Ink Free", 25),bg="#ffffff").pack()
pass_entry = Entry(regscreen,font=("Ink Free",20), textvariable = password, bg="#666666", show="*", width=50)
pass_entry.pack()
Label(regscreen, text = "",bg="#000000").pack()
Label(screen,text="h",font=("Ink Free,", 25), bg="#000000").pack()
Label(regscreen, text = "",bg="#000000").pack()
Label(regscreen, text = "",bg="#000000").pack()
Label(regscreen, text = "",bg="#000000").pack()
regscreen.config(bg="#000000")
regbutton = Button(regscreen, text="Register",width=30,command= register_user,font=("Ink Free", 25),bg="#ffffff")
regbutton.pack()
screen.title("Welcome")
title = Button(screen, text="Welcome to the clicker game",bg="#ffffff", font=("Ink Free", 50))
loginbutton = Button(screen, text="Login",width=30,bg="#ffffff",command = login,font=("Ink Free", 25))
registerbutton = Button(screen, text="Register",width=30,bg="#ffffff", command = register, font=("Ink Free", 25))
label = Label(screen,text="", height= 2, bg="#000000")
label2 = Label(screen,text="", height= 2,bg="#000000")
label3 = Label(screen,text="", height= 12,bg="#000000")
label3.pack()
title.pack(side = TOP)
label2.pack()
loginbutton.pack()
label.pack()
registerbutton.pack()
def register_user():
global username
global password
global regscreen
global user_info
user_info = username.get()
pass_info = password.get()
user_entry.delete(0, END)
pass_entry.delete(0, END)
Label(regscreen,text="Registration success! Please go to the now login(3)",font=("Ink Free", 25)).pack()
time.sleep(1)
Label(regscreen,text="Registration success! Please go to the now login(2)",font=("Ink Free", 25)).pack()
time.sleep1
login()
global count
count += variable
global filecount
global filecoins
filecount += 1
filecoins += 1
file=open(user_info,"w")
file.write(user_info + "\n")
file.write(pass_info+"\n")
file.write("lifetime Clicks: " + str(filecount) + "\n")
file.write("Coins: " + str(filecoins))
file.close()
global colors
screen.mainloop()