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

会话结束后列表值会被删除吗?如何解决重启代码后列表为空问题?

问题解答

会话结束后列表值的去向

是的,程序会话(进程)结束后,内存中的列表数据会被完全清除。你代码里的列表属于内存临时变量,进程终止后操作系统会回收其占用的内存空间,之前追加的所有数据都会丢失,这就是你重新运行代码时列表为空的原因。

可行解决方案

  • 本地文件持久化:将列表数据写入本地文件实现持久化,推荐用json模块,操作简单且数据可读性强。示例代码:
    import json
    
    # 初始化列表:读取本地文件,文件不存在则创建空列表
    try:
        with open("list_data.json", "r", encoding="utf-8") as f:
            target_list = json.load(f)
    except FileNotFoundError:
        target_list = []
    
    # 执行追加操作
    target_list.append("新增内容")
    
    # 将更新后的列表写回文件
    with open("list_data.json", "w", encoding="utf-8") as f:
        json.dump(target_list, f, ensure_ascii=False, indent=2)
    
  • 数据库存储:如果数据量较大或需要支持查询、筛选等复杂操作,使用SQLite(Python自带,无需额外安装依赖)或其他关系型/非关系型数据库存储数据,每次运行时从数据库读取初始数据,更新后同步回数据库。
  • 内存缓存服务:若你开发的是长期运行的服务类程序(如Web应用),可以使用Redis这类内存缓存工具存储列表数据,只要缓存服务未停止,重启程序后仍能读取到之前的数据,适合高并发、快速读写的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 02:52:07