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

如何用Python实现Input()内容追加至RandomList并持久化存储?

实现可持久化的列表追加功能(Python)

当然可以实现!这其实就是数据持久化的典型场景——把内存里的列表数据保存到磁盘文件里,这样程序关闭后数据也不会丢失。下面给你两种实用的Python方案,按需选择就行:

方案一:用JSON文件存储(推荐,支持复杂结构)

JSON格式天生适合存储列表、字典这类Python数据结构,读写起来非常方便。核心思路是:每次启动程序时先读取已有的JSON文件加载成列表,追加用户输入后再写回文件。

import json
import os

# 定义存储数据的文件路径
DATA_FILE = "random_list.json"

def load_list():
    # 如果文件不存在,返回空列表
    if not os.path.exists(DATA_FILE):
        return []
    # 读取并解析JSON文件
    with open(DATA_FILE, "r", encoding="utf-8") as f:
        try:
            return json.load(f)
        except json.JSONDecodeError:
            # 防止文件损坏导致解析失败,返回空列表
            return []

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

# 主逻辑
random_list = load_list()
user_input = input("请输入要追加的内容:")
random_list.append(user_input)
save_list(random_list)

print(f"内容已追加!当前列表:{random_list}")

方案二:用纯文本文件存储(简单直观)

如果你的数据都是纯字符串,用普通文本文件也很合适,每行存储一个列表元素。

import os

DATA_FILE = "random_list.txt"

def load_list():
    if not os.path.exists(DATA_FILE):
        return []
    with open(DATA_FILE, "r", encoding="utf-8") as f:
        # 读取所有行,去掉每行末尾的换行符
        return [line.strip() for line in f.readlines()]

def save_list(data_list):
    with open(DATA_FILE, "w", encoding="utf-8") as f:
        # 每个元素占一行写入
        f.write("\n".join(data_list))

# 主逻辑
random_list = load_list()
user_input = input("请输入要追加的内容:")
random_list.append(user_input)
save_list(random_list)

print(f"内容已追加!当前列表:{random_list}")

额外小贴士

  • 可以添加输入验证,比如判断用户是否输入了空内容,避免无效数据存入
  • 如果需要存储大量数据,或者需要更复杂的查询功能,可以考虑用SQLite数据库(Python自带,无需额外安装)
  • 记得处理可能的文件读写异常,比如权限不足、磁盘空间不够等情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:39:17