0
比方說,我有echo "hello world" > test.bson.gz
產生假GZ文件test.bson.gz
,我曾嘗試:假`.gz`提高IO錯誤,「不是一個壓縮文件」
try:
bson_file = gzip.open('test.bson.gz', mode='rb')
except:
print("cannot open")
沒有異常會被抓到這裏來。 (真是奇怪,因爲這不是一個有效的GZ ...)
然後我做的:
data = bson_file.read(4)
我會得到:
File "/usr/lib/python2.7/gzip.py", line 190, in _read_gzip_header
raise IOError, 'Not a gzipped file'
IOError: Not a gzipped file
有什麼辦法,我可以決定(甚至發現錯誤)當我試圖打開它時,這個.gz是否有效,是否等到我想閱讀它?
謝謝!
等等......看來這段代碼對於有效的BSON不起作用。試試'bson_file.peek(1)'獲得一個有效的'.bson.gz',你會發現它仍然可以捕獲錯誤。 – tclo2