我對python有點新鮮,我正在製作一個用戶名+密碼登錄系統以獲得樂趣。我正在使用字典來存儲用戶名和密碼。我打算讓它可以添加一個帳戶到字典中,並且我希望有一種方法可以在程序下次運行時保存字典。我將如何做到這一點?Python - 在程序外部保存數據
2
A
回答
4
有用於保存數據許多選項,一個簡單的方法是使用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
0
2
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.'
。
相關問題
- 1. Android在內部/外部存儲器中保存應用程序設置/數據
- 2. 保存應用程序的Python數據
- 3. EF不保存外部數據
- 4. 保存數據到外部文件
- 5. Python:關閉程序後在內存中保存數據
- 6. 在外部數據庫中保存特定數據
- 7. 在外部存儲數據
- 8. 在Python中保存數據
- 9. 啓動外部程序python
- 10. 從外部程序獲取數據
- 11. 在外部存儲器中保存sqlite數據庫
- 12. 在外部存儲器上保存數據
- 13. Android - 在外部存儲器上保存數據
- 14. 通常從Java應用程序保存外部數據的位置?
- 15. 保存在Eclipse中運行外部應用程序
- 16. 保存一個python程序
- 17. 如何在刷新頁面時在HTML外部保存數據?
- 18. Python運行外部python程序
- 19. 從Python中的腳本訪問外部程序數據文件
- 20. 保存到外部存儲
- 21. 從外部程序獲取數據
- 22. PHP檢索外部程序數據
- 23. 在應用程序外部存儲time_point
- 24. 如何在關閉程序後保存數據(不使用文本文件,外部數據)
- 25. Python燒瓶SQLalchemy外鍵不保存在數據庫 - 一對多
- 26. 在使用外部類的活動之間保存數據
- 27. 在Rails數據庫中保存外部Tweets
- 28. 錯誤在Hive中創建外部表以保存JSON數據
- 29. 在列表之外保存Sharepoint數據
- 30. 將數據保存在iPhone之外
我不會存儲明文密碼。哈希它們。 – Blender
請確保在存儲任何密碼或加密密碼或散列密碼之前閱讀此內容:http://stackoverflow.com/a/401684/212555 –