计算每个模式后的行数

时间:2015-04-25 10:32:50

标签: python regex

我有一个带行的文件,有些行有特定的模式。每个模式后的行数不同,我想计算每个模式后的行数。

<pattern>
line 1
line 2
line 3
<pattern>
line 1
line 2
etc

我的代码:

for line in fp:
   c = 0
   if line.startswith("<"):
        header = line.split(" ")
   else:
        c = c+1

我捕获模式和线条的代码,但我不知道如何在下一个模式之前停止并在模式之后开始另一个计数。

1 个答案:

答案 0 :(得分:0)

只需将c保存到数组中并设置c = 0

即可

a是数组 l是数组的长度

array a;
l = 0;
for line in fp:
 c = 0
 if line.startswith("<"):
    header = line.split(" ")
    a[l] = c
    c = 0
    l = l+1
 else:
    c = c+1

要读取值,您可以从0到l读取数组:

for i in range(0,l):
  print "c%d is %d" % (i,a[i])