2016-06-27 8 views
-2

は現在、私は持っている:ファイル内の行の数を読む

for line in f: 
    if line == promble: 
     print("check") 

は、私はプログラムは、私が選択した行の後の行を印刷したいです。助けて。

+0

あなたは正確に何をしようとしていますか? –

+0

['列挙する]](https://docs.python.org/2/library/functions.html#enumerate) – khelwood

答えて

0

ファイルに行をテストしたい場合は、それがしようと、ファイルの次の行を印刷一致した場合:

selected = False 
for line in f: 
    if selected: 
     print line 
     selected = False 
    if line == promble: 
     selected = True 
0

使用enumerate

for index,line in enumerate(f): 
    if line == promble: 
     print f[index+1] 
0

あなたfileオブジェクトfがあり__iter__属性のため、nextを適用してループ内の次のアイテムを取得することができます。

for line in f: 
    if line == promble: 
     print(next(f)) # prints next line after the current one 
01まだそれを再び fを返します fiterを呼び出し、

it = iter(f) 
for line in it: 
    if line == promble: 
     print(next(it)) 

f場合は、すでにイテレータたので:ffileオブジェクトもiteratorでもない

場合は、1を作るためにfiterを呼び出すことができます正常に動作します。

関連する問題