【发布时间】:2018-01-09 22:46:33
【问题描述】:
我需要我的 Python 脚本来操作 gzip 文件,这些文件可能仍会被写入。因为它们还没有被正确关闭,所以这样的操作有时会导致最后的 CRC 错误。
我怎样才能抑制这些错误并简单地处理直到不完整结尾的所有内容?
我的代码是:
if usegzip:
opener = gzip.open;
else:
opener = open;
...
for line in opener(input_filename,'r'):
.... process line ....
遇到仍然打开的文件时遇到的异常是:
for line in opener(input_filename,'r'):
File "/opt/lib/python2.7/gzip.py", line 464, in readline
c = self.read(readsize)
File "/opt/lib/python2.7/gzip.py", line 268, in read
self._read(readsize)
File "/opt/lib/python2.7/gzip.py", line 315, in _read
self._read_eof()
File "/opt/lib/python2.7/gzip.py", line 354, in _read_eof
hex(self.crc)))
IOError: CRC check failed 0x7248907 != 0x45e82dc4L
我可以在不重新实现gzip-module 的情况下以某种方式抑制它吗?
【问题讨论】:
-
看看here
-
谢谢。是的,是同样的错误,但是zlib-module 本身并没有提供适合直接替换的接口。没有
zlib.open()和朋友...
标签: python python-2.7 gzip zlib