gzip文件上的readline会导致无限循环[python]
我有一个gzip文件,我正在尝试读取该文件的行: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、 关闭() 上面的输出是: <<>&
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:
中的数据行进行迭代。我真不敢相信。。。附言:我会把你的答案标记为正确答案。别担心,我们每个人都会遇到这种情况。:)