如何统计某行之后的行数

1 投票
2 回答
1234 浏览
提问于 2025-04-16 17:27

我正在尝试写一段代码,用来计算在某一特定行之后的行数。我想统计在我的文件中,{A B} 这段内容出现之后的所有行。

{A   B}
1     1
0.072 108.815
0.217 108.815
0.362 108.814

我的代码如下:

from __future__ import with_statement
def file_len(fname):
   with open(fname) as f:
        for i, l in enumerate(f):
             pass
   return i + 1

t=file_len("test.ghx")
print t

我不太确定该如何修改这段代码,以便计算包含 {A B} 的特定行之后的行数。

有没有人能分享一些想法?

2 个回答

1

计算文件中总共有多少行,查看你的标签出现在第几行,然后从总行数中减去这个行号。

4

跳过你要找的那一行之前的所有行,包括那一行,然后数一下剩下的行数:

def file_len(fname):
    with open(fname) as f:
        for line in f:
            if line.strip() == "{A   B}":
                break
        return sum(1 for line in f)

撰写回答