[英]Python - How do I make a dictionary inside of a text file?
我正在编写一个允许用户创建用户名和密码的程序。 如何将其作为字典写入文本文件,然后在需要时检索它? 此外,如果有更简单的方法可以做到这一点,我欢迎任何新想法。
使用 Python 序列化机制 - pickle 。
小例子:
>>> import pickle
>>> s = pickle.dumps({'username': 'admin', 'password': '123'})
>>> s
"(dp0\nS'username'\np1\nS'admin'\np2\nsS'password'\np3\nS'123'\np4\ns."
现在您可以轻松地将s
内容保存到某个文件中。 之后,您可以阅读并解码:
>>> pickle.loads(s)
{'username': 'admin', 'password': '123'}
但这种方法并不十分安全。 不要将其用于危险数据或您依赖的数据。
查看 Nadia Alramli 的“为什么 Python Pickle 不安全” 。
我会使用json
。 这对于这类事情来说非常棒,并且从 2.6 开始就在标准库中。
import json
# write settings
with open('settings.json', 'w') as f:
f.write(json.dumps(settings))
# load settings1
with open('settings.json', 'r') as f:
settings = json.load(f)
>>> f = open('pass_file','w')
>>> d = {"name":"my_name", "pass":"my_pass"}
>>> import pickle
>>> pickle.dump(d, f)
>>> f.close()
>>> import pickle
>>> f = open('pass_file', 'r')
>>> d = pickle.load(f)
>>> d
{'name': 'my_name', 'pass': 'my_pass'}
>>>
还有一个更快的版本,叫做cPickle 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.