Python - 如何在文本文件中创建字典?

cod*_*00b 5 python dictionary file

我正在编写一个程序,允许用户创建用户名和密码.如何将其作为字典写入文本文件,然后在需要时检索它?此外,如果有一个更简单的方法,我欢迎任何新的想法.

Rom*_*huk 7

使用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."
Run Code Online (Sandbox Code Playgroud)

现在您可以轻松地将内容保存s到某个文件中.之后你可以阅读并解码:

>>> pickle.loads(s)
{'username': 'admin', 'password': '123'}
Run Code Online (Sandbox Code Playgroud)

但这种方法并不十分安全.不要将它用于您依赖的危险数据或数据.

查看Nadia Alramli撰写的"为什么Python Pickle是不安全的".


zee*_*kay 6

我用了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)
Run Code Online (Sandbox Code Playgroud)