将包含树的文本文件转换为列表

时间:2015-11-19 19:43:09

标签: python python-3.x

我正在为学校做一个项目,为了开始,我必须找到一种方法将文本文件中的一行转换为列表。我知道如何正常地执行此操作(例如,如果我给了1 2 3 4 5 6)但我给出的文本文件是binaryTree(包括字符'['和',')。实际的文本文件如下。

link_to(url, html_options = {}) do
  # name
end

每当我以1 2 3 4 5 6的方式执行此操作并调用myList [0]时,我不会获得根3(对于第一行中的树),而是调用返回第一个括号'[ ”。有人可以展示我将上面每行转换为表示树的多项列表的方法。

1 个答案:

答案 0 :(得分:3)

您可以使用ast.literal_eval将字符串转换为其他内置数据类型:

>>> import ast
>>> line = "[3, [9, [11, [4,[],[]], []], [] ], [7 , [], [6,[],[]]] ]"
>>> myList = ast.literal_eval(line)
>>> myList
[3, [9, [11, [4, [], []], []], []], [7, [], [6, [], []]]]

>>> myList[0]
3