我有一个.txt
文件,里面有一个列表(这是一个列表示例):
[[[[1155, 87]], [[1155, 612]], [[385, -81]], 0, 0, 0, 0, 0, 0, 0], [151, 130, 83, 0, 0, 0, 0, 0, 0, 0], [2, 4, 2, 0, 0, 0, 0, 0, 0, 0], [22, 31, 1, 0, 0, 0, 0, 0, 0, 0], [(1, 2, 3), (1, 2, 3), (1, 2, 3), 0, 0, 0, 0, 0, 0, 0], [[2, 3], [1, 3], [3], 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 0, 0, 0, 0, 0, 0, 0]]
我想把这个列表放回我的程序中,所以我打开文件:
file = open(file.txt).read()
然后我尝试在我的程序中得到它:
a = file
,
但是我有一个字符串而不是列表,例如a[0]
返回字符串的第一个字符:[。所以对我来说有两个选择:要么我不知道如何打开和使用.txt
文件,要么我必须用循环取回我的列表,但它似乎很复杂。
答案 0 :(得分:5)
您可以使用ast.literal_eval:
from ast import literal_eval
with open("file.txt") as f:
lst = literal_eval(f.read())