[英]Append text file in python with json data
我正在嘗試創建一個簡單的函數,該函數可用於將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數據,或者如果不存在則創建它
這一直在向我拋出錯誤,有什么想法嗎?
a
模式不能同時用於讀寫。 而是使用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)
調用將光標移回文件的開頭。 truncate()
在新文件內容少於舊文件內容的情況下提供幫助。
並且,作為一個旁注,請嘗試避免使用裸的except子句 ,或者/並且正確記錄錯誤和回溯 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.