我似乎记得 Python gzip 模块之前允许你在不解压的情况下透明地读取非gzip文件,这非常有用,因为它可以让你无论输入文件是否被gzip都能够读取。你根本不需要担心它。
现在,在 Python 2.7.5 中,我会收到一个 IOError 异常:
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
如果有人有巧妙的窍门,我很想听听。是的,我知道如何捕获异常,但我觉得先读一行再关闭文件再打开它相当笨拙。