Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正确的创建方法是什么;tgz";python中的文件?_Python_Linux_Compression_Tar_Freebsd - Fatal编程技术网

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

正确的创建方法是什么;tgz";python中的文件?,python,linux,compression,tar,freebsd,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 it

我使用下面的代码创建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上的Extract

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文件呢?

请尝试使用

tar = tarfile.open(output_filename+".tar.gz", "w:gz")
您只创建了一个
.tar
文件,没有压缩该文件。