Python: синтаксическая ошибка при чтении из файла - PullRequest
0 голосов
/ 12 января 2012

Я читаю данные из файла.Большая часть данных в файле данных будет считана и записана в выходной файл без изменений.Однако местами данные разделяются пустой строкой, которая предшествует 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.

Ответы [ 4 ]

9 голосов
/ 12 января 2012

Это не elseif в питоне, это elif.

5 голосов
/ 12 января 2012

Другие отметили, что это elif.Кроме того, вам не хватает двоеточия в конце вашего оператора for, и Python, вероятно, будет жаловаться на строку , следующую за .Так что теперь вам не нужно возвращаться и задавать отдельный вопрос для этого.: -)

Если вы просто хотите перебрать строки в файле, лучше сделать это:

for testline in testfile:
   # do stuff with the line

Вам не нужно проверять наличиеконец файла таким образом, потому что цикл автоматически заканчивается, когда вы достигаете конца файла.

2 голосов
/ 12 января 2012

Это не 'elseif', это 'elif', который вы ищете.

Кроме того, есть еще одна опечатка в конце цикла for for i in range(0,5), для которой требуется: в конце.

1 голос
/ 12 января 2012

Вы всегда можете попробовать изменить elseif на elif

А ваши отступы набиты со 2-й строки и далее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...