2012-08-13 2 views
1

I는 GZIP 파일을 가지고 I 파일의 라인을 읽으려고 :의 readline [파이썬]

g = gzip.open(filename) 

while True: 
    dline = g.readline() 

    if not dline: 
     print "<<" + dline + ">>" 

g.close() 
위의 출력은

을 :

<<>> 
<<>> 
<<>> 
<<>> 
... infinitely 

무엇이 잘못 되었나요? 추신 gzip은 utf-8 텍스트 파일입니다.

+1

g에서 dline을 사용하여 줄 반복을 수행 할 수 있습니다. – jordanm

답변

3

루프를 종료 할 수있는 조건이 없습니다. 시도 : 읽기 행이 더 이상 없을 때

while True: 
    dline = g.readline() 
    if not dline: 
     break 
    print "<<" + dline + ">>" 

기능의 readline() 가족은 빈 문자열을 반환합니다.

+0

저는 이것을 정말로 믿을 수 없습니다 ... 추신 : 나는 당신의 답을 올바른 답으로 표시 할 것입니다. –

+1

걱정하지 마라, 그것은 우리 모두에게 일어난다. :) –