如何永久地在字典中存储值

时间:2016-03-01 18:02:32

标签: python-2.7

我正在建立一个登录程序。但是我在保存登录详细信息时遇到问题。我使用字典但它没有存储值。当我再次打开文件时,它没有任何价值。我是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()

1 个答案:

答案 0 :(得分:0)

首先,无论何时再次运行程序,所有变量都被清除,它就是一个全新的环境。您有两种选择:

  1. 使用数据库,可以将sqlite用于小型应用程序。检查python的sqlite驱动器文档。 https://docs.python.org/2/library/sqlite3.html

  2. 您可以将值写入文件。 https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files。您可以将值写入文件,而不是将其保存在字典中,每次再次运行程序时,您都可以检索它们。

  3. 这是持久性问题。会话结束后,数据结构本身不会保留数据,如果您需要这些功能,则需要将其写入其他位置并将其写回数据结构。