2011-10-18 26 views
0

我想在我的文件的Json的末尾添加一個新的記錄,現在它包含Python的 - 寫/添加一個新的紀錄文件,JSON格式

{ 
    "1": 
     { 
      "coef":987, 
      "Term": 
       { 
       "x1":6,"x2":0,"x3":8 
       } 
      } 
    } 

即時閱讀這個文件是這樣的:

try: 
     json_data=open ("/home/sage/content.txt") 
     data=json.load (json_data) 
    except IOError: 
    print "Can't open your file" 

如何在文件末尾添加新記錄。

回答

2

讀取數據後,您不能添加到文件中,你需要創建一個新的文件(具有相同的名稱,如果你想):

data['added_data'] = 'some data added' 
write_file = open("/home/sage/content.txt", "w") 
write_file.write(json.dumps(data)) 
+0

他是用'json.load'不'json.loads'否則答案是正確的+1 –

+0

OK謝謝;),但我並不需要添加:你應該使用with語句處理文件。 read(),讀取數據,它適用於json_data = open(「/home/sage/content.txt」) –

+0

我更正了reposnse,感謝評論。 – Ferran

2

如果您正在使用Python 2.5或更高版本

import json 

with open('content.txt', 'r') as f: 
    data = json.load(f) 

data["2"] = { 
     "coef":987, 
     "Term": 
      { 
      "x1":6,"x2":0,"x3":8 
      } 
     } 

with open('content.txt', 'w') as f: 
    json.dump(data, f)