2012-01-12 5 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'가 없습니다. 당신은'엘프 '를 원합니다. –

답변

9

파이썬에서는 elseif이 아니며, elif입니다.

+0

어. 감사. 보시다시피, 저는 이것에 대해 새로운 것입니다. –

+0

@FluxCapacitor는 대답을 수락하는 것을 잊지 마십시오 – juliomalegria

1

당신은 항상 elif

elseif 변경을 시도 할 수 그리고 당신의 들여 쓰기 이후

2

그것은 당신이 찾고있는 'ELIF'는 'elseif 문'없는 2 줄에서 채워진다.

또한 for 루프 끝에 또 다른 오타가 있습니다. for i in range(0,5) 끝에 다음이 필요합니다.

5

다른 사람들은 elif을 지적했습니다. 또한 for 문 끝에 콜론이 누락되어 Python이 에 대해 행 다음에 불평 할 것입니다. 이제 다시 돌아와서 별도의 질문을 할 필요가 없습니다. :-)

당신은 단지 파일의 라인을 반복하려면,하지만,이 작업을 수행 할 수있는 더 좋은 방법은 다음과 같습니다

for testline in testfile: 
    # do stuff with the line 

당신은 최종 외를 확인할 필요가 없습니다 파일의 끝 부분에 도달하면 루프가 자동으로 끝나기 때문에 그렇게하는 것이 좋습니다.

+0

답변의 나머지 부분이 귀하의 질문에 명시 적으로 대답하는 동안 여기 친절한 귀하는 실제로 그의 접근 방식을 따라야합니다. – Aurora

관련 문제