我对python有点陌生,我正在制作一个用户名+密码登录系统来玩。我正在使用字典来存储用户名+密码。我将这样做,以便您可以将帐户添加到字典中,并且我想要一些方法来保存字典以供下次程序运行时使用。我该怎么做?
问问题
5595 次
5 回答
7
持久化数据有很多选择,一种简单的方法是使用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()
于 2013-06-18T21:27:33.977 回答
0
shelve
正如 jabaldonedo 所建议的那样,该模块是字典的替代品。但是,当您的值都是字符串时,甚至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.'
。
于 2013-06-18T21:33:57.723 回答
0
了解如何在 python 中读取和写入文件,只需将用户名和密码存储在文本文件中。
于 2013-06-18T21:27:32.570 回答