打印出多个txt文档中每个段落的第一句话

2024-05-14 22:15:00 发布

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

我希望我不要因为这个问题而打扰任何人,因为它与已经被问到的问题相似。 不过,我的问题是,我没有找到txt文件的答案,而只找到了使用BeautifulSoup的html/xml的答案。另一个问题给出了Java的答案,但我只使用Python

所以我有几个文本文档,我想为每个文档从每个段落得到第一句话

我以为打开并阅读课文时:

speech1_content = open("1789-04-30-George-Washington.txt", "r")

这是第一步,但我没有找到任何能让我走得更远的答案。 想法是在txt文件中有一个段落:

在人生的沧桑事件中,没有一件事比你方在本月14日收到的通知更令我焦虑。一方面,我是被我的祖国召唤来的,我只能怀着崇敬和爱慕之情,从我最喜欢的地方选择的一个隐居地,怀着我最美好的希望,怀着一个不变的决定,作为我晚年的庇护所,由于习惯的增加,我的兴趣的增加,我的健康的频繁中断,以及时间对我逐渐造成的浪费,使我每天都更加有必要,对我来说也更加珍贵

但只能将此作为输出:

在人生的沧桑事件中,没有一件事比你方在本月14日收到的通知更令我焦虑

非常感谢你的帮助


Tags: 文件答案文档txthtml事件xml文本文档
2条回答

这将提供存储每行第一句的字符串列表:

speech1_lines = speech1_content.readlines()
speech1_first_sentences = [line.split('.')[0] for line in speech1_lines]

然后您可以打印列表

print(speech1_first_sentences)

或者迭代它

for sentence in speech1_first_sentences:
    print(sentence)

所以我想您需要读取一个文件,直到第一行中断('\n')

在Python中,我们更喜欢使用以下命令打开文件:

with open(filename) as f:
    lines = f.readlines()

现在,一行到第一个换行符。第一个段落只是行([0])的第一个元素和第一个。可以通过调用字符串上的find函数来获得。就你而言:

eos = lines[0].find('.')
first_sentence = lines[0][0:eos]

如果你需要更复杂的句子查找工具,你应该看看NLTK

相关问题 更多 >

    热门问题