我似乎記得Python gzip模塊以前允許您透明地讀取非gzip文件。這非常有用,因爲它允許讀取輸入文件,而不管它是否被壓縮。你根本不必擔心。Python 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
如果任何人有一個巧妙的方法,我想聽到它。是的,我知道如何捕捉這個異常,但是我發現它首先讀取一行,然後關閉文件並再次打開,這相當笨拙。
你肯定你記錯遍歷文件?我無法從2.4的任何版本中獲得該行爲,並且從[2.0](http://docs.python.org/2.0/lib/module-gzip.html)開始,文檔中沒有提及此行爲!我永遠不會希望gzip能夠讀取未壓縮的文件。 – mata
難道你不能只打開文件,將它傳遞給gzip,捕獲異常,然後使用已打開的文件? – Mezgrman
我想理解你的權利。請不要冒犯。你爲什麼要用gzip打開一個沒有抓住的文件?對不起,但對我來說沒有意義。請澄清你的問題。 – PSS