$ cat zip.tar | python3 foo3.py $ cat zip.tar | python3 foo3.py Traceback (most recent call last): File "/opt/miniconda/lib/python3.8/tarfile.py", line 2227, in makelink os.symlink(tarinfo.linkname, targetpath) FileExistsError: [Errno 17] File exists: 'CHANGES.gz' -> 'tarout/usr/share/doc/zip/changelog.gz' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "foo3.py", line 5, in tar.extractall("tarout") File "/opt/miniconda/lib/python3.8/tarfile.py", line 2024, in extractall self.extract(tarinfo, path, set_attrs=not tarinfo.isdir(), File "/opt/miniconda/lib/python3.8/tarfile.py", line 2065, in extract self._extract_member(tarinfo, os.path.join(path, tarinfo.name), File "/opt/miniconda/lib/python3.8/tarfile.py", line 2145, in _extract_member self.makelink(tarinfo, targetpath) File "/opt/miniconda/lib/python3.8/tarfile.py", line 2237, in makelink self._extract_member(self._find_link_target(tarinfo), File "/opt/miniconda/lib/python3.8/tarfile.py", line 2137, in _extract_member self.makefile(tarinfo, targetpath) File "/opt/miniconda/lib/python3.8/tarfile.py", line 2176, in makefile source.seek(tarinfo.offset_data) File "/opt/miniconda/lib/python3.8/tarfile.py", line 513, in seek raise StreamError("seeking backwards is not allowed") tarfile.StreamError: seeking backwards is not allowed $ cat git.tar | python3 foo3.py $ cat git.tar | python3 foo3.py Traceback (most recent call last): File "foo3.py", line 5, in tar.extractall("tarout") File "/opt/miniconda/lib/python3.8/tarfile.py", line 2024, in extractall self.extract(tarinfo, path, set_attrs=not tarinfo.isdir(), File "/opt/miniconda/lib/python3.8/tarfile.py", line 2065, in extract self._extract_member(tarinfo, os.path.join(path, tarinfo.name), File "/opt/miniconda/lib/python3.8/tarfile.py", line 2137, in _extract_member self.makefile(tarinfo, targetpath) File "/opt/miniconda/lib/python3.8/tarfile.py", line 2176, in makefile source.seek(tarinfo.offset_data) File "/opt/miniconda/lib/python3.8/tarfile.py", line 513, in seek raise StreamError("seeking backwards is not allowed") tarfile.StreamError: seeking backwards is not allowed