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

Python如何正确读取txt文本文件中存储的嵌套列表

问题根源

你之前使用strip('][').split(', ')的读取逻辑,会把所有层级的方括号全部剔除,再按逗号分割字符串,从原理上就会丢失全部嵌套结构,且分割出的元素默认是字符串类型,自然无法还原原列表的嵌套结构和整数数据类型。

适配当前已生成文件的读取方法

直接使用Python标准库ast模块的literal_eval方法即可。该方法可以安全解析合法的Python基础字面量(包括嵌套列表、字典、数字、字符串等),不会像原生eval一样存在执行恶意代码的安全风险,完美适配你用str(l1)写入的文件格式。
读取代码如下:

import ast

with open("l1.txt", "r", encoding="utf-8") as f:
    content = f.read()
l1 = ast.literal_eval(content)

执行后得到的l1和初始写入的列表完全一致:[[[0,1,2,3,4],[5,6,7]],[8,9,10],[11,12,13,14]],嵌套结构完整,元素均为整数类型。

更推荐的结构化数据存储方案

如果后续需要频繁存储列表、字典这类结构化数据,不建议使用str()转字符串的写入方式,更推荐用标准库json做序列化,跨语言兼容性更强,读写逻辑更稳定:

  • 写入代码示例
import json

l1 = [[[0,1,2,3,4],[5,6,7]],[8,9,10],[11,12,13,14]]
with open('l1.txt', 'w', encoding='utf-8') as f:
    json.dump(l1, f)
  • 读取代码示例
import json

with open("l1.txt", "r", encoding="utf-8") as f:
    l1 = json.load(f)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 22:06:51