如何在Python中读写字典到外部文件?
如何在Python中读写字典到外部文件?
这个问题已经有了答案:
我有一个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日
让我们创建一个字典:
>>> 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'}