You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python循环中向JSON文件内的列表持续追加元素

问题原因

  • 变量名与操作对象错误:你代码中读取到的JSON数据存在data变量中,但你调用了不存在的datat变量,同时你要追加的是data下的times列表,不是JSON根对象本身
  • 文件写入模式错误:使用a追加模式会将新序列化的JSON内容直接拼接在原文件末尾,不会覆盖原有内容,最终导致文件内出现多段独立的JSON结构,下次读取时就会抛出Extra data错误

正确实现代码

import json
import time # 可选,用于控制循环频率,避免频繁写入

while True:
    # 读取现有JSON文件内容
    with open("data.json", "r", encoding="utf-8") as json_file:
        data = json.load(json_file)
    
    # 向times列表追加元素,此处替换为你实际生成的数值即可
    new_time = 1.64
    data["times"].append(new_time)
    
    # 用覆盖模式`w`写入文件,indent参数保证输出格式和你要求的缩进效果一致
    with open("data.json", "w", encoding="utf-8") as json_file:
        json.dump(data, json_file, indent=4)
    
    # 按需设置循环间隔,示例为1秒写入一次
    time.sleep(1)

补充说明

如果不需要JSON文件缩进格式化展示,去掉json.dump中的indent=4参数即可,写入速度会更快。

内容的提问来源于stack exchange,提问作者Thavas Antonio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 17:15:04