在Python中如何正确创建“tgz”文件?

3 投票
1 回答
2030 浏览
提问于 2025-04-18 11:52

我使用下面的代码来创建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")

撰写回答