首页 > 解决方案 > 如何在 Python 中打印文本文件每一段的第一行?

问题描述

假设我有一个这样的文本文件:

Tom
15
Basketball

James
16
Tennis
Track
Choir

Tim
14
Band
Class Chairman

我想显示这个:

Tom
James
Tim

我的程序允许用户将更多信息附加到 txt 文件中。虽然我可以让它只读取第 1、5 和 11 行,但问题在于显示任何添加的信息。每个段落也可能有不同数量的行。据我所知(并在网上找到),没有办法在不导入外部工具的情况下只打印 txt 文件的每一段的第一行。有没有一种复杂的方法可以做到这一点,或者有没有不同的方法来解决这个问题?

标签: python

解决方案


f = open('filename.txt', 'rt')

for entry in f.read().split('\n\n'):
    print(entry[0 : entry.index('\n')])

filename.txt是该文本文件的名称,rt是文件打开模式:r代表“读取”(只读模式)和t“文本”文件。

每个条目(段落)都由两个换行符分隔(考虑一下),所以我们以此.split()为基础,对于每个这样的条目,我们知道第一行是名称,所以我们将字符串拼接为[0 : entry.index('\n')]entry.index('\n')第一个旁边给出索引条目中的换行符。

另外,在运行之前确保文件确实存在,否则会抛出错误。


推荐阅读