python - 如何将字典保存到文件中?

标签 python file dictionary python-3.x

我在更改 dict 值并将 dict 保存到文本文件时遇到问题(格式必须相同),我只想更改 member_phone 字段。

我的文本文件格式如下:

memberID:member_name:member_email:member_phone

我将文本文件拆分为:

mdict={}
for line in file:
    x=line.split(':')
    a=x[0]
    b=x[1]
    c=x[2]
    d=x[3]
    e=b+':'+c+':'+d

    mdict[a]=e

当我尝试更改 d 中存储的 member_phone 时,值已更改而不是按键流动,

def change(mdict,b,c,d,e):
    a=input('ID')
    if a in mdict:
        d= str(input('phone'))
        mdict[a]=b+':'+c+':'+d
    else:
        print('not')

以及如何将字典保存到相同格式的文本文件中?

最佳答案

Python 有 pickle模块只是为了这种事情。

这些函数是您保存和加载几乎任何对象所需的全部:

with open('saved_dictionary.pkl', 'wb') as f:
    pickle.dump(dictionary, f)
        
with open('saved_dictionary.pkl', 'rb') as f:
    loaded_dict = pickle.load(f)

为了保存 Python 的集合,有 shelve模块。

关于python - 如何将字典保存到文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19201290/

相关文章:

python - 如何在 numpy 数组中使用 for 循环?

c# - 如何删除只读文件?

java - 更改 Map 的迭代顺序

Scala - map 功能 - 只返回 map 的最后一个元素

python - 具有 11 到 20 位数字的随机数

python - 从 MySQL 数据库递归获取所有子项

python - 如何获取新列中的所有唯一值

javascript - 将 Blob 对象转换为文件,对于 Ms Edge

c - 读取 C 中的新行

java - 如何在 Android Studio 上精确定位 MapView 的不同位置?