2012-01-12 14 views
0

ファイルからデータを読み込んでいます。データファイル内の大部分のデータは、変更されずに読み込まれ、出力ファイルに書き出されます。しかし、場所では、データは空白行で区切られています。空白行は5つの無駄な行に先行しています。ここに私のコードは次のとおりです。任意の考えPython:ファイルから読み込むときの構文エラー

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

#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) 

私は私が困惑している次のエラーを取得しますか?私はelseifステートメントで何が間違っているのか理解できません。

+3

Pythonには 'elseif 'はありません。あなたは 'elif'が欲しい。 –

答えて

9

Pythonではelseifではありません。elifです。

+0

ありがとう。ご覧のとおり、私はこれで初めてです。 –

+0

@FluxCapacitorは答えを受け入れることを忘れないでください – juliomalegria

1

あなたはそれはそれはあなたが探している「のelif」です「ELSEIF」ではありません

2

を常にelseifelif

を変更してみてください可能性があり、あなたのインデントは、以降2行目から詰めています。

さらに、forループの最後にもう1つのタイプミスがあります。for i in range(0,5)これは最後に必要です。

5

他は、それがelifであることを指摘しています。また、forステートメントの最後にコロンがありません。そして、の後にPythonがおそらく行に文句を言うでしょう。だから、今戻ってきて別の質問をする必要はありません。 :-)

あなただけのファイルの行を反復処理したい場合は、しかし、これを行うには良い方法は次のとおりです。

for testline in testfile: 
    # do stuff with the line 

あなたはエンド・オブを確認する必要はありませんファイルの終わりに達すると自動的にループが終了するため、この方法でファイルを作成します。

+0

答えの残りの部分があなたの質問に明示的に答えている間、ちょっとここが正しいです、あなたは彼のアプローチに本当に従うべきです。 – Aurora

関連する問題