簡體   English   中英

使用json數據在python中附加文本文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM