我正在建立一个登录程序。但是我在保存登录详细信息时遇到问题。我使用字典但它没有存储值。当我再次打开文件时,它没有任何价值。我是python的新手,但这是我到目前为止的代码:
user={}
print'''
\t1)NEW USER
2)\tEXISTING USER'''
f=input("ENTER ANY OF THE ABOVE OPTIONS-")
def check():
user={}
new=raw_input("PLEASE ENTER YOUR USERNAME:-")
pas=raw_input("PLEASE ENTER YOUR PASSWORD:-")
if user[new]==pas:
return True
print "Log In Successful!!"
else:
print"Invalid Entry!"
return False
def newuser():
user={}
new=raw_input("ENTER YOUR USER ID :-")
pas=raw_input("ENTER YOUR PASSWORD :-")
user[new]=pas
print "new user added"
if f==1:
check()
if f==2:
newuser()
答案 0 :(得分:0)
首先,无论何时再次运行程序,所有变量都被清除,它就是一个全新的环境。您有两种选择:
使用数据库,可以将sqlite用于小型应用程序。检查python的sqlite驱动器文档。 https://docs.python.org/2/library/sqlite3.html
您可以将值写入文件。 https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files。您可以将值写入文件,而不是将其保存在字典中,每次再次运行程序时,您都可以检索它们。
这是持久性问题。会话结束后,数据结构本身不会保留数据,如果您需要这些功能,则需要将其写入其他位置并将其写回数据结构。