假设我有一个文件 -'file.txt'
焦油和 gzip 压缩,两者之间有什么区别:
with tarfile.open('file.tar.gz') as tar:
tar.extractall()
with open('file.txt', 'rb') as f:
x = f.read()
和
with gzip.open('file.tar.gz', 'rb') as f:
x = f.read()
在第一个中,我得到的输出没有奇怪的十六进制字符,这些字符确实出现在第二个中。gzip
内的f.read
是否读取实际的.tar
文件,而不是读取普通文件,这些字符是 tar-files 标头?
正确的假设。 Tar 只是将文件粘合在一起而不压缩,而 gzip 只能压缩单个文件。 你正在使用gzip.open解压缩后阅读tar