如何读取文件的行列表,而不是python中的字符串



我有一个文件,其中每行都是树的列表表示。例如,文件中的这些行之一是:

[1, [[2,[]], [3, [ [5,[]], [6, [ [10,[]] ] ] ]], [4, [ [7,[]], [8,[]], [9,[]] ]] ]]

如果我将其复制并粘贴到我的程序中,它知道它是一个列表,我可以轻松地操纵它以找到根和孩子,然后带那些孩子,找到他们的孩子,等等。逐行文件,将这些线路变成字符串。如果我尝试将这些字符串转换为列表,那么它将字符串中的每个单独字符都作为列表中的一个项目,而这不是我想要的。

我只想知道如何逐行阅读文件,但是它没有吐出字符串,而是为我的文字列表表单提供了每一行。我正在阅读的文件是.txt文件,它必须保持这种方式,我无法将其保存为.py文件或类似文件。

尝试ast模块:

>>> s = "[1, [[2,[]], [3, [ [5,[]], [6, [ [10,[]] ] ] ]], [4, [ [7,[]], [8,[]], [9,[]] ]] ]]"
>>> l = ast.literal_eval(s)
>>> l[0]
1

最新更新