我似乎记得 Python gzip 模块以前允许您透明地读取非 gzip 文件。这真的很有用,因为它允许读取输入文件,无论它是否经过 gzip 压缩。你根本不必担心它。
现在,我得到一个 IOError 异常(在 Python 2.7.5 中):
Traceback (most recent call last):
File "tst.py", line 14, in <module>
rec = fd.readline()
File "/sw/lib/python2.7/gzip.py", line 455, in readline
c = self.read(readsize)
File "/sw/lib/python2.7/gzip.py", line 261, in read
self._read(readsize)
File "/sw/lib/python2.7/gzip.py", line 296, in _read
self._read_gzip_header()
File "/sw/lib/python2.7/gzip.py", line 190, in _read_gzip_header
raise IOError, 'Not a gzipped file'
IOError: Not a gzipped file
如果有人有一个巧妙的技巧,我想听听。是的,我知道如何捕捉异常,但我发现先读取一行,然后关闭文件并再次打开它相当笨拙。