如何在Python的文本文件中读取列表格式的列表

时间:2015-08-20 09:17:13

标签: python list input evaluate

我在txt文件中有这个列表:

[1, "hello", {"Name": "Tom"}, [2, 3, "hello_hello"], (800, 600)]

intstrdictlisttuple(事实并非如此)。< / p>

我想读这个,就像这是一个列表(因为它确实)不像一个字符串。

我想得到一个结果:

elem[0] = 1
elem[1] = "hello"
elem[2] = {"Name": "Tom"}
elem[3] = [2, 3, "hello_hello"]
elem[4] = (800,600)

如果字典立即评估eval(),那将是非常好的,但这不是重点。

2 个答案:

答案 0 :(得分:4)

如评论中@AvinashRaj所示,您可以使用ast module(ast:抽象语法树):

import ast

print ast.literal_eval('[1, "hello", {"Name": "Tom"}, [2, 3, "hello_hello"], (800, 600)]')

输出:

[1, 'hello', {'Name': 'Tom'}, [2, 3, 'hello_hello'], (800, 600)]

这应该是您期望的确切结果(elem)。

答案 1 :(得分:-3)

我认为这是一个json。

import json
my_list = json.load(my_str_list)