如何在Python中读写字典到外部文件?

14 浏览
0 Comments

如何在Python中读写字典到外部文件?

这个问题已经有了答案:

为什么Python无法解析JSON数据?[关闭]

我有一个Python中的字典。我想要修改那个字典,然后将字典保存到外部文件中,这样当我再次加载Python程序时,它会从外部文件中获取字典数据。

class Data:
"""
Data handling class to save
and receive json data, parent
of User for data  purposes.
"""
def saveData(data, file):
    with open(file, 'r+') as dataFile:
        dataFile.write(json.dumps(data))
def getData(file):
    with open(file, 'r+') as dataFile:
        return json.loads(dataFile.readline())
def deleteContent(file):
    file.seek(0)
    file.truncate()

但是当我写入文件并尝试读取时,它会将其读取为字符串,我无法使用读取的数据设置字典。如何从外部JSON文件中获取字典数据,而不是字符串数据?

data = Data.getData("chatbotData.json")
dataDict = data
dataDict["age"] = 2

以下是我想要对数据进行的操作,并且我得到了这个错误:

TypeError:\'str\'对象不支持项目分配

admin 更改状态以发布 2023年5月24日
0
0 Comments

让我们创建一个字典:

>>> d = {'guitar':'Jerry', 'drums':'Mickey' }

现在,让我们将它转储到一个文件中:

>>> import json
>>> json.dump(d, open('1.json', 'w'))

现在,让我们读取它:

>>> json.load(open('1.json', 'r'))
{'guitar': 'Jerry', 'drums': 'Mickey'}

更好地管理文件句柄

上面演示了 json 模块,但没有妥善关闭文件。更好的做法:

>>> with open('1.json', 'w') as f:
...     json.dump(d, f)
... 
>>> with open('1.json') as f:
...     json.load(f)
... 
{'guitar': 'Jerry', 'drums': 'Mickey'}

0