Read .tar.gz file in Python
The docs tell us that None is returned by extractfile() if the member is a not a regular file or link.
One possible solution is to skip over the None results:
tar = tarfile.open("filename.tar.gz", "r:gz")for member in tar.getmembers(): f = tar.extractfile(member) if f is not None: content = f.read()
tarfile.extractfile()
can return None
if the member is neither a file nor a link. For example your tar archive might contain directories or device files. To fix:
import tarfileimport numpy as np tar = tarfile.open("filename.tar.gz", "r:gz")for member in tar.getmembers(): f = tar.extractfile(member) if f: content = f.read() Data = np.loadtxt(content)