gzip文件上的readline会导致无限循环[python]

gzip文件上的readline会导致无限循环[python],python,unicode,gzip,Python,Unicode,Gzip,我有一个gzip文件,我正在尝试读取该文件的行: g = gzip.open(filename) while True: dline = g.readline() if not dline: print "<<" + dline + ">>" g.close() g=gzip.open(文件名) 尽管如此: dline=g.readline() 如果没有数据线: 打印“” g、 关闭() 上面的输出是: <<>&

我有一个gzip文件,我正在尝试读取该文件的行:

g = gzip.open(filename)

while True:
    dline = g.readline()

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

g.close()
g=gzip.open(文件名)
尽管如此:
dline=g.readline()
如果没有数据线:
打印“”
g、 关闭()
上面的输出是:

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

... 无限

这里怎么了?另外,gzip是utf-8文本文件。

您没有可能退出循环的条件。尝试:

while True:
    dline = g.readline()
    if not dline:
        break
    print "<<" + dline + ">>"
为True时:
dline=g.readline()
如果没有数据线:
打破
打印“”

readline()
函数族在没有更多行可读取时返回空字符串。

您可以使用
对g:
中的数据行进行迭代。我真不敢相信。。。附言:我会把你的答案标记为正确答案。别担心,我们每个人都会遇到这种情况。:)