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

Python字符串格式列表转实体列表方法及更优存储读取方案

字符串转列表实现方案

你可以直接使用Python标准库的ast.literal_eval完成转换,该方法仅解析Python字面量,不会执行任意代码,安全性远高于eval,完全适配str(list)生成的字符串格式:

import ast

# 读取存储了str(list)的明文文件
with open("your_file_path.txt", "r", encoding="utf-8") as f:
    list_str = f.read().strip()

# 转换为实际列表类型
target_list = ast.literal_eval(list_str)
更优的列表存储读取方案推荐

根据你的使用场景可以选择以下方案,替换原有的str(list)明文存储逻辑:

  • JSON格式存储
    适用场景:需要跨语言读写、需要明文可直接查看内容
    优势:通用标准格式、读写逻辑简单
    示例代码:
    import json
    # 存储
    with open("data.json", "w", encoding="utf-8") as f:
        json.dump(target_list, f)
    # 读取
    with open("data.json", "r", encoding="utf-8") as f:
        target_list = json.load(f)
    
  • Pickle二进制存储
    适用场景:仅Python环境使用、列表包含复杂Python类型
    优势:读写速度快、支持几乎所有Python原生类型、存储体积小
    注意:不要读取来源不可信的pickle文件,存在执行恶意代码的风险
    示例代码:
    import pickle
    # 存储
    with open("data.pkl", "wb") as f:
        pickle.dump(target_list, f)
    # 读取
    with open("data.pkl", "rb") as f:
        target_list = pickle.load(f)
    
  • Numpy格式存储
    适用场景:列表为纯数值类型、后续需要做数值计算、数据量较大
    优势:读写速度极快、存储压缩率高、直接兼容numpy数值操作
    示例代码:
    import numpy as np
    # 存储
    np.save("data.npy", np.array(target_list))
    # 读取
    target_list = np.load("data.npy").tolist()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:15:03