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

2024-10-01 15:31:55 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

如果我复制并粘贴到我的程序中,它就会明白这是一个列表,我可以很容易地操纵它来找到根和子对象,然后获取这些子对象并找到它们的子对象,等等。当我逐行读取文件时,它会获取这些行并将它们转换为字符串。如果我尝试将这些字符串转换为列表,那么字符串中的每个字符都将成为列表中的不同项,这不是我想要的。你知道吗

我只想知道如何逐行读取文件,但它不是逐行输出字符串,而是以文本列表形式给出每一行。我正在读的文件是一个.txt文件,它必须保持这种方式,我不能保存为.py文件或类似的东西。你知道吗


Tags: 文件对象字符串py文本程序txt列表
1条回答
网友
1楼 · 发布于 2024-10-01 15:31:55

尝试ast模块:

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

相关问题 更多 >

    热门问题