如何让Python将文本文件中的列表格式内容识别为列表而非字符串?
将字符串格式的浮点数列表转为Python可操作列表
方法1:使用ast.literal_eval()(推荐)
这是最安全的处理方式,专门用于解析Python字面量结构,不会执行任意代码,适配你的场景:
#!/bin/python3 import ast with open('CPU_Parsed.txt', 'r') as cpu: contents = cpu.read().strip() # 移除文本首尾可能存在的空白字符 # 解析为可操作的Python列表 float_list = ast.literal_eval(contents) print(float_list) print(type(float_list)) # 示例操作:访问列表元素、计算总和 print(float_list[1]) # 输出 0.6 print(sum(float_list))
方法2:使用json.loads()
你的文本格式和JSON数组完全兼容,也可以用JSON模块直接解析:
#!/bin/python3 import json with open('CPU_Parsed.txt', 'r') as cpu: contents = cpu.read().strip() float_list = json.loads(contents) print(float_list) print(type(float_list))
方法3:手动解析(无需额外库)
如果不想引入外部库,可手动处理字符串完成转换:
#!/bin/python3 with open('CPU_Parsed.txt', 'r') as cpu: contents = cpu.read().strip() # 移除首尾的[]符号,按逗号分割字符串 str_elements = contents[1:-1].split(',') # 遍历每个元素,去除空白后转为浮点数 float_list = [float(element.strip()) for element in str_elements] print(float_list) print(type(float_list))
内容的提问来源于stack exchange,提问作者Mike I
相关产品推荐
相关产品推荐

