Discuss / Python / 追加模式写到文件中, 读文件报错

追加模式写到文件中, 读文件报错

Topic source

BrcNkeepSo-So

#1 Created at ... [Delete] [Delete and Lock User]
  d = {'a':123,'b':234,'c':345}
  with open('test','a') as f:
      json.dump(d,f)

  with open('test','r') as f:
      for d in json.load(f):
          print(d)

dump到文件当中, 通过'w'模式写读取没有问题. 但是通过'a'模式就读不出来了. 查看发现文件写成了''{"b": 234, "a": 123, "c": 345}{"a": 123, "c": 345, "b": 234}{"b": 234, "c": 345, "a": 123}'' 看error log是load()读到了第二个大括号出错的. 那像这种方式写到文件当中可以用load()读出来吗?

-SuperDon-

#2 Created at ... [Delete] [Delete and Lock User]

load() 方法读取的内容必须是一个或一组完整的 json 对象,即一对 {}[] 中的内容,通常情况下一个 json 文件就是一个 json 对象或组,写文件的时候按规范来吧。现实中 append 这类需求对于 json 来说并不多吧。 可以在 json.cn 验证你 json 是否合规,可以解析


  • 1

Reply