python tarfile不可预知的错误tarfile.ReadError:空头

时间:2017-06-14 16:27:24

标签: python tarfile

使用python tarfile模块打开tar文件时,如

tarfile.open(path, mode='a')

我收到错误

Traceback (most recent call last):
  File "/home/IPP-HGW/dboe/anaconda2/lib/python2.7/tarfile.py", line 1711, in open
    return cls.taropen(name, mode, fileobj, **kwargs)
  File "/home/IPP-HGW/dboe/anaconda2/lib/python2.7/tarfile.py", line 1721, in taropen
    return cls(name, mode, fileobj, **kwargs)
  File "/home/IPP-HGW/dboe/anaconda2/lib/python2.7/tarfile.py", line 1601, in __init__
    raise ReadError(str(e))
tarfile.ReadError: empty header

我已经尝试将此重现一天了,但是当发生这种情况时却无法找到一般规则。因此,不可能提供最小的例子。任何人都可以向我解释何时可能发生此错误以及标头如何变空?

非常感谢, 丹尼尔

1 个答案:

答案 0 :(得分:2)

当解析tarfile的头时,缓冲区长度为零时会引发此异常。 它是为空档案而提出的。

参考: