定義された行数の後に特定の文字列が繰り返されている巨大なデータファイルがあります。
最初の2つの「ランク」オカレンス間のジャンプをカウントします。たとえば、ファイルは次のようになります。
1 5 6 8 Rank line-start
2 4 8 5
7 5 8 6
5 4 6 4
1 5 7 4 Rank line-end
4 8 6 4
2 4 8 5
3 6 8 9
5 4 6 4 Rank
文字列Rankが3行ごとに繰り返されていることがわかります。したがって、上記の例では、ブロック内の行数は4です。私の質問は、python readline()を使用して行数を取得する方法です。
私は現在これに従っています:
data = open(filename).readlines()
count = 0
for j in range(len(data)):
if(data[j].find('Rank') != -1):
if count == 0: line1 = j
count = count +1
if(count == 2):
no_of_lines = j - line1
break
改善や提案は大歓迎です。