Python 2.7.8用于行迭代错误

时间:2016-08-22 09:53:09

标签: python python-2.7

我想使用以下脚本迭代文件中的所有行

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,我想使用这个旧版本而不是更新版本。

2 个答案:

答案 0 :(得分:2)

在Python中引入块的任何行之后需要冒号。

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

答案 1 :(得分:0)

您的代码中还有另一个错误,您不需要:

infile.read()

因为它会读取所有infile的记录,并且不会将其保存到任何变量中。更重要的是它会将你移到文件末尾,因此不再需要阅读。

此外,不需要手动关闭文件,使用语句更好:

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.