在Python中如何正确创建“tgz”文件?
我使用下面的代码来创建tgz文件。当我在Linux上尝试解压这个tgz文件时遇到了问题。但是在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上解压
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文件呢?
1 个回答
3
请尝试使用
tar = tarfile.open(output_filename+".tar.gz", "w:gz")