我对python有些新手,我正在制作用户名+密码登录系统以获得乐趣。我使用字典来存储用户名+密码。我打算这样做你可以在字典中添加一个帐户,我想要一些方法来保存字典,以便下次程序运行。我该怎么做?
答案 0 :(得分:6)
持久化数据有很多选项,一种简单的方法是使用shelve
您可以使用以下方式保存数据:
>>> import shelve
>>> data = {'foo':'foo value'}
>>> d = shelve.open('myfile.db')
>>> d['data'] = data
>>> d.close()
然后您可以轻松恢复数据:
>>> import shelve
>>> d = shelve.open('myfile.db')
>>> data = d['data']
>>> d.close()
答案 1 :(得分:2)
根据您的需要,您可以将信息保存到文本文件或使用数据库。保存到文本文件不需要任何编码,但是python的两种流行格式/库是json和pickle。如果你想使用数据库,我建议你查看mysql或sqlite。
答案 2 :(得分:0)
了解如何在python中读写Files,并将用户名和密码存储在文本文件中。
答案 3 :(得分:0)
答案 4 :(得分:0)
jabaldonedo建议的shelve
模块是字典的替代品。但是,当您的值都是字符串时,即使shelve
也是过度的;你可以使用dbm
。
无论哪种方式,您只需要更改一行:
d = {} # in-memory, non-persistent dict
d = shelve.open('passwd.db', 'c') # persistent dict that can store anything
d = dbm.open('passwd.db', 'c') # persistent dict that only stores strings
dbm的优点是您可以使用其他工具来读取(和编辑)数据库。例如,如果您这样做:
d['abc'] = 'def'
使用dbm
,数据库将保存字符串'def'
。对于shelve
,它会包含'\x80\x03X\x03\x00\x00\x00defq\x00.'
。