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
誰かが巧妙なトリックを持っているなら、私はそれについて聞きたいです. はい、例外をキャッチする方法は知っていますが、最初に行を読み取ってからファイルを閉じてから再度開くのはかなり面倒です。