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

Python操作queue.json新增ctx.guild.id时覆盖原有数据问题求助

问题根因

代码在检测到ctx.guild.id不存在于已读取的Queue字典后,仅将包含新键值对的独立对象写入文件,没有把新条目合并到原有数据中再存储,直接覆盖了全部历史内容。

修复代码

import json

# 读取原有全量数据
with open("queue.json", "r") as f:
    Queue = json.load(f)

if ctx.guild.id not in Queue:
    # 给原有字典新增键值对,而非新建独立字典
    Queue[ctx.guild.id] = []
    # 将更新后的完整字典写入文件
    with open("queue.json", "w") as QueueAddFile:
        json.dump(Queue, QueueAddFile, separators=(',', ':'))

可选优化项

  • 新增文件不存在、JSON格式异常的捕获逻辑,避免首次运行或文件损坏时报错
  • 多进程/多实例同时操作文件时,可添加文件锁避免读写冲突导致的数据损坏

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:48:03