2016-08-22 52 views
-3

我想在一個文件中的所有行迭代與下面的腳本的Python 2.7.8線路重複錯誤

import sys 

infile = open("test.txt") 
infile.read() 

for line in infile 
    if line.find("This") != -1 
     print line 

infile.close() 

不幸的是,我收到此錯誤信息:

File "getRes.py", line 6 
    for line in infile 
        ^
SyntaxError: invalid syntax 

我我一直在嘗試一個小時來弄清楚什麼是錯誤,但我仍然無法找到它。你能告訴我什麼是錯的,以及如何解決它? PS:我正在使用Python 2.7.8,我想用這個舊版本而不是更新的版本。

+1

這意味着你缺少INFILE後一個冒號,它應該是'在INFILE行:' – BPL

回答

2

在Python中引入塊的任何行後面都需要冒號。

for line in infile: 
    if line.find("This") != -1: 
+0

謝謝Daniel,代碼正在編譯。 –

0

有沒有在你的代碼中的另一個錯誤,你並不需要:

infile.read() 

,因爲它讀取INFILE的所有含量研究並沒有將其保存到任何變量。而更重要的是它將你移動到文件末尾,所以沒有更多的線條要閱讀。

此外,還有沒有必要manualy關閉文件,這是更好地與語句中使用:

with open("test.txt") as infile: 
    for line in infile: 
     # do what you want 
# here file will be close automaticaly, when we exit "with" scope.