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

Python脚本实现列表数据永久存储的问题求助

解决列表数据持久化问题

要让列表数据在脚本重启后不丢失,核心是把内存中的数据持久化到磁盘文件里。这里用JSON格式存储是最方便的方案——它能直接和Python列表互转,读写代码简单易懂。

修改a_file.py

把原来的空列表定义改成从文件加载历史数据,并添加保存数据的函数:

import json
import os

# 存储数据的文件,默认和脚本在同一目录
DATA_FILE = "list_data.json"

def load_list():
    # 若文件存在则读取数据,不存在则返回空列表
    if os.path.exists(DATA_FILE):
        with open(DATA_FILE, 'r', encoding='utf-8') as f:
            return json.load(f)
    return []

def save_list(data):
    # 将当前列表写入JSON文件
    with open(DATA_FILE, 'w', encoding='utf-8') as f:
        json.dump(data, f, ensure_ascii=False, indent=2)

# 初始化列表:从磁盘加载历史数据
a_list = load_list()

修改main.py

导入保存函数,每次修改列表后立即保存数据,退出时也做一次兜底保存:

from a_file import a_list, save_list

while True:
    user_input = input("输入内容('showlist'查看列表,'exit'退出程序):")
    if user_input == 'showlist':
        print(a_list)
    elif user_input == 'exit':
        save_list(a_list)
        print("数据已保存,程序退出")
        break
    else:
        a_list.append(user_input)
        save_list(a_list)
        print(f"已添加内容:{user_input}")

关键逻辑说明

  • 脚本启动时,load_list()会读取磁盘上的JSON文件,把之前保存的列表数据加载到内存中的a_list,所以重启后能看到历史内容。
  • 每次添加新内容或退出时,save_list()会把当前a_list的完整内容写入文件,确保所有修改都能持久化到磁盘。
  • JSON是纯文本格式,你可以直接打开list_data.json查看或手动修改数据(注意保持JSON格式正确)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 18:10:48