You need to enable JavaScript to run this app. 如何从txt文件读取Python列表格式内容并转换为Python列表对象
优惠活动
大模型
产品
解决方案
定价
更多

如何从txt文件读取Python列表格式内容并转换为Python列表对象

TXT存储的Python列表字符串读取还原方案

核心思路

直接复制大体积列表字符串会触发IDE/解释器输入缓冲区过载导致无响应,采用流式读取文件+字面量安全解析的方式实现转换,全程无数据截断风险。

实现代码

基础版(无额外异常处理)

import ast

# 替换为你的txt文件实际路径
with open("permission_list.txt", "r", encoding="utf-8") as f:
    list_str = f.read()

# 解析为Python原生列表
target_list = ast.literal_eval(list_str)

# 结果验证
print(f"成功还原列表,元素总数:{len(target_list)}")
# 输出前3个元素确认格式正确性
print(target_list[:3])

兼容版(含常见异常处理)

import ast

file_path = "permission_list.txt" # 替换为实际文件路径
target_list = []

try:
    # 优先尝试utf-8编码读取
    with open(file_path, "r", encoding="utf-8") as f:
        list_str = f.read().strip()
    target_list = ast.literal_eval(list_str)
except FileNotFoundError:
    print("错误:未找到指定路径的文件,请核对路径配置")
except SyntaxError:
    print("错误:文件内容不符合Python列表字面量格式,请检查是否存在多余的首尾字符、格式损坏")
except UnicodeDecodeError:
    # 编码不兼容时尝试GBK编码读取
    with open(file_path, "r", encoding="gbk") as f:
        list_str = f.read().strip()
    target_list = ast.literal_eval(list_str)

注意事项

若解析失败请优先检查txt文件内容:确认首尾没有多余的日志字符、换行符、空格,仅保留完整的[元素1, 元素2...]结构即可正常解析。ast.literal_eval仅会解析Python字面量结构,不会执行任意代码,相比eval安全性更高,适合处理未知来源的序列化字面量内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 12:36:05