如何将段落添加到 Python 中的列表

How to add paragraphs to list in Python

我想让用户输入一个文件名,其中包含由字符串 '<NEW DOCUMENT>' 分隔的几个段落。示例文本文件:

Look on the bright 
side of Life.
<NEW DOCUMENT>
look on the very, dark
side of the Moon
<NEW DOCUMENT>
is there life
on the moon

我想读取这个文件并将其拆分,以便列表中的每个索引都有多行 例如,如果我打印:print(paragraph_list[0]),输出将是第一段(文本文件每段可以包含两行以上)

我试过的是:

def make_list_from_file(file_stream):
    paragraph_list = []
    for line in file_stream:
        line.strip().split('<NEW DOCUMENT>')
        paragraph_list.append(line)
    return paragraph_list

我尝试了其他组合,但是当我打印第一个索引时,输出只是文本文件中的第一行

Look on the bright

以下应该有效:

def make_list_from_file(file_stream):
    with open(file_stream) as f:
        t=f.read()
    paragraph_list=t.split('<NEW DOCUMENT>')
    return paragraph_list

如果你想打印一些段落,结果将是:

>>> print(paragraph_list[0])
Look on the bright
side of Life.

您必须先连接段落的行:

def make_list_from_file(file_stream):
    paragraph_list = []
    temp_paragraph = ""
    for line in file_stream:
        temp_paragraph += line + "<separator between lines>"
        if(line == "<NEW DOCUMENT>")
            paragraph_list.append(temp_paragraph)
    return paragraph_list