创建" tgz"的正确方法是什么?在python中的文件?

时间:2014-07-02 12:58:04

标签: python linux compression tar freebsd

我使用下面的代码创建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文件?

1 个答案:

答案 0 :(得分:2)

请尝试使用

tar = tarfile.open(output_filename+".tar.gz", "w:gz")