我使用下面的代码创建tgz文件。当我尝试在压缩后提取tgz文件时,我在Linux上遇到了问题。但是当我尝试使用FreeBSD时,它会成功提取。
import tarfile
import os
def create_tgzfile(output_filename, source_dir,item_list):
os.chdir(source_dir)
tar = tarfile.open(output_filename+".tar.gz", "w")
for name in item_list:
tar.add(name)
tar.close()
create_tgzfile("test","./",["file1","file2"])
test.tgz
在FreeBSD上提取
tar -xzvf test.tgz
x file1
x file2
Linux上的exract
tar -xzvf test.tgz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
那么,为什么它不能在Linux上打开或如何用python创建正确的tgz文件?
答案 0 :(得分:2)
请尝试使用
tar = tarfile.open(output_filename+".tar.gz", "w:gz")