我正在为学校做一个项目,为了开始,我必须找到一种方法将文本文件中的一行转换为列表。我知道如何正常地执行此操作(例如,如果我给了1 2 3 4 5 6)但我给出的文本文件是binaryTree(包括字符'['和',')。实际的文本文件如下。
link_to(url, html_options = {}) do
# name
end
每当我以1 2 3 4 5 6的方式执行此操作并调用myList [0]时,我不会获得根3(对于第一行中的树),而是调用返回第一个括号'[ ”。有人可以展示我将上面每行转换为表示树的多项列表的方法。
答案 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