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

Flu*_*tor 0 python syntax file-io

我正在读取文件中的数据.数据文件中的大多数数据将被读入并写入输出文件而不进行修改.但是,在某些地方,数据由空白行分隔,该空白行位于其他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)
Run Code Online (Sandbox Code Playgroud)

我得到以下错误,让我难过:

File "convert.py", line 31
elseif testline == '\n':
              ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?我无法弄清楚我的elseif语句有什么问题.

Yuu*_*shi 9

它不是elseif在python中,它是elif.


kin*_*all 5

其他人指出了这一点elif.此外,您在for语句末尾缺少冒号,Python可能会抱怨以下行.所以现在你不必再回来问一个单独的问题了.:-)

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

for testline in testfile:
   # do stuff with the line
Run Code Online (Sandbox Code Playgroud)

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