在python中附加带有json数据的文本文件
Posted
技术标签:
【中文标题】在python中附加带有json数据的文本文件【英文标题】:Append text file in python with json data 【发布时间】:2016-08-16 01:23:45 【问题描述】:我正在尝试创建一个简单的函数,可用于将 json 数据存储到文件中。我目前有这个代码
def data_store(key_id, key_info):
try:
with open('data.txt', 'a') as f:
data = json.load(f)
data[key_id] = key_info
json.dump(data, f)
pass
except Exception:
print("Error in data store")
这个想法是加载文本文件中当前的数据,然后创建或编辑 json 数据。所以运行代码...
data_store("foo","bar")
然后该函数将读取文本文件中的内容,然后允许我通过替换现有的内容(如果“foo”存在)或在不存在的情况下创建它来附加 json 数据
然而,这一直在向我抛出错误,有什么想法吗?
【问题讨论】:
您能否向我们提供您的data.txt
文件或至少其中的一些数据?
【参考方案1】:
a
模式不能同时读写。相反,use r+
:
with open('data.txt', 'r+') as f:
data = json.load(f)
data[key_id] = key_info
f.seek(0)
json.dump(data, f)
f.truncate()
seek(0)
call 在此处将光标移回文件的开头。 truncate()
在新文件内容少于旧文件内容的情况下提供帮助。
另外,请尝试正确地使用avoid having a bare except clause,或/和log the error and the traceback。
【讨论】:
以上是关于在python中附加带有json数据的文本文件的主要内容,如果未能解决你的问题,请参考以下文章