如何计算某一行后的行数

时间:2011-05-11 13:27:33

标签: python

我正在尝试编写一个代码来计算某些行之后的行数。我想计算{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 个答案:

答案 0 :(得分: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)

答案 1 :(得分:1)

计算文件中的总行数,检查标记出现在哪一行,从总数中减去。