我生成一个大型嵌套字典,然后将其保存为json,然后稍后我尝试加载它(这样我就可以将更多数据附加到json)。但是我在以下代码行中经常出错:
# to save
with open(json_path,'w') as f:
json.dump(data, f, indent=3, sort_keys=True)
# to load
with open(json_path,'r') as f:
data = json.load(f)
到目前为止我看到的错误:
ValueError:end超出范围
ValueError:期待对象...
ValueError:未终止的字符串...
但奇怪的是:如果我在异常后pdb并尝试再次加载json,它每次都有效!
答案 0 :(得分:1)
你读得太早了,写作还没有完成。如果您使用单独的进程或线程,则需要确保序列化读写操作。
在尝试阅读之前,请使用锁定以确保写入操作完成。