1
我試圖在json文件中存儲列表的大列表。這些列表是從長時間運行的進程生成的,所以我想在新的信息添加到我的json文件中,因爲它變得可用。是否有可能將信息附加到json文件內部的結構而不先讀取到內存中?
目前,爲了擴展數據結構,我將json作爲Python列表讀入內存,將新數據附加到該列表,然後使用新創建的json文件覆蓋舊數據名單。
def update_json_file(new_data):
with open('mycoolfile.json', 'rb') as f:
jsondata = json.load(f)
jsondata.append(new_data)
with open('mycoolfile.json', 'wb') as f:
json.dump(jsondata, f)
有沒有比將所有內容都讀入內存更好的方法?當然隨着文件大小的增加,這將不再是一個可行的策略。有沒有簡單的方法來擴展json文件內部的結構?
你不能將數據插入文件的中間,期。如果你想有效地做到這一點,請使用某種數據庫。 – millimoose
我同意上面的數據庫評論。 sqlite非常易於使用python。當需要json文件時,可以根據需要構建它。 –
@JoshSmeaton好吧。謝謝你的提示。看來我該終於學習數據庫的工作方式了!我會檢查出sqlite –