Python:从文件读取时出现语法错误

Python:从文件读取时出现语法错误,python,file-io,syntax,Python,File Io,Syntax,我正在从文件中读取数据。数据文件中的大部分数据将被读入并写入输出文件,无需修改。但是,在某些地方,数据由一个空行分隔,该空行位于其他5行之前。这是我的密码: #Now loop over the entire file while True: testline = infile.readline() if len(testline) ==0: break # EOF elseif testline == '\n': for i in range(0,5) test

我正在从文件中读取数据。数据文件中的大部分数据将被读入并写入输出文件,无需修改。但是,在某些地方,数据由一个空行分隔,该空行位于其他5行之前。这是我的密码:

#Now loop over the entire file
while True:
testline = infile.readline()
if len(testline) ==0:
    break # EOF
elseif testline == '\n':
    for i in range(0,5)
        testline = infile.readline()
else:
    outfile.write(testline)
我遇到了以下让我难堪的错误:

File "convert.py", line 31
elseif testline == '\n':
              ^
SyntaxError: invalid syntax

有什么想法吗?我不知道我的elseif语句有什么问题。

它在python中不是elseif,而是elif。

您可以尝试将elseif更改为elif


你的缩进是从第二行开始填充的,你要找的不是“elseif”,而是“elif”


此外,对于0,5范围内的i,在for循环的末尾还有另一个输入错误,它需要一个:结尾。

其他人指出这是elif。此外,for语句末尾缺少冒号,Python可能会抱怨下面这一行。因此,现在你不必再回来问另一个问题了-

但是,如果您只想在文件中的行上进行迭代,则更好的方法是:

for testline in testfile:
   # do stuff with the line

您不必以这种方式检查文件结尾,因为循环在到达文件结尾时会自动结束。

Python中没有elseif。你想要艾利夫。虽然提供的其他答案明确地回答了你的问题,但这里的一切都是对的,你应该真正遵循他的方法。