2016-06-27 39 views
-2

目前我有:讀取文件中的某一行的數量

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

我想使程序打印我選擇了行之後的行。幫幫我。

+0

你究竟在做什麼? –

+0

[''enumerate']](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仍然

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

如果f已經是一個迭代器,呼籲fiter將再次返回f,所以:

如果f既不是file對象也不是iterator,你可以f調用iter使一個工作正常。