对于具有特定类别的行数的文本文件,如何将这些行之间的行附加到列表中?

问题描述 投票:0回答:2

我有一个文本文件,看起来像:

[START]
hey there
how are you
[END]
[START]
i am great
long time no see
[END]
[START]
yeah
busy lives
[END]

如果我想将分隔符[START]和[END]之间的所有行追加到列表中,我该怎么做?

我试过这样做:

f = open(filename)
f.readline()
lst = []
while not (line == '[START]'):
    lst.append(line)
return lst
python
2个回答
0
投票
f = open("file.txt")
line = f.readline()
lst = []
while line:
    if not ('[START]' in line or '[END]' in line):
        lst.append(line)
    line = f.readline()
return lst

你可以用line.replace(“/ n”,“”)替换/ n或[START]或[END]


0
投票

这可以通过列表理解来完成:

with open(filename) as file:
    return [line.rstrip('\n') for line in file if line.startswith('[START]') or line.startswith('[END]')]
© www.soinside.com 2019 - 2024. All rights reserved.