Python - 在文件中以Json格式写入/添加新记录

1 投票
2 回答
4377 浏览
提问于 2025-04-17 04:34

我想在我的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 个回答

3

如果你使用的是 Python 2.5 版本或更新的版本,处理文件时应该使用 with 语句。

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)
3

在读取完数据后,你不能直接往文件里添加内容,而是需要创建一个新文件(如果想的话,可以用相同的名字):

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

撰写回答