Python 如何将.tar转换为.tgz
我正在尝试用python压缩一些文件。我正在使用子进程,问题是我不知道如何压缩所有文件。以下是我的工作:Python 如何将.tar转换为.tgz,python,subprocess,gzip,tar,Python,Subprocess,Gzip,Tar,我正在尝试用python压缩一些文件。我正在使用子进程,问题是我不知道如何压缩所有文件。以下是我的工作: comand = czf saveFolder = /home/albert/a.tgz temporal = /home/albert/test1 subprocess.call(["tar",comand,saveFolder,temporal]) 如何添加更多文件?如果我尝试这样做,它会向我发送错误: subprocess.call(["tar",comand,saveFolder
comand = czf
saveFolder = /home/albert/a.tgz
temporal = /home/albert/test1
subprocess.call(["tar",comand,saveFolder,temporal])
如何添加更多文件?如果我尝试这样做,它会向我发送错误:
subprocess.call(["tar",comand,saveFolder,temporal1,temporal2])
subprocess.call(["tar",comand,saveFolder,temporal + temporal2])
我还尝试使用:
subprocess.call(["tar",comand,saveFolder,temporal])
然后将所有文件添加到.tar文件中
subprocess.call(["tar","rvf",saveFolder,temporal])
最后一个想法的问题是,我可以只对.tar文件执行,但对.gzip或其他类型的文件则不起作用
我能做什么?
谢谢。
tgz
文件只是gzip tar归档文件。和.tar.gz
的快捷方式
- 您可以使用
tar cz
- 您可以使用
tarc
- 您可以使用
或tarr
将数据附加到(非压缩)归档文件中(请参见手册以了解差异)taru
- 您可以使用
压缩归档文件李>gzip
- 但是,您不能(至少使用GNUtar)更新压缩的归档文件
>>> tar = tarfile.open('package.tar', 'w')
>>> tar.add('new_file.txt')
>>> tar.add('new_other_file.txt')
>>> tar.close()
创建压缩的tar包
>>> import tarfile
>>> tar = tarfile.open('package.tar', 'w')
>>> tar.add('full/path/of/dir/')
>>> tar.close()
>>> tar = tarfile.open('package.tar.gz', 'w:gz')
>>> tar.add('server.db')
>>> tar.add('readme.txt')
>>> tar.close()
您是否可以将所有文件添加为tar文件(在创建步骤中没有z),然后在结束时将其gzip,当您知道您已经完成了向归档文件添加文件时?代码不是有效的Python。“向我发送错误”不是信息性的。提供完整的回溯<代码>检查调用([“tar”、“czf”、“a.tgz”、“test1”、“test2”])按原样工作——它使用
test1
,test2
文件创建压缩存档。如果您想要绝对名称(在大多数情况下不需要),请使用--绝对名称
选项。在所有文件都是.tar之后,我如何将其转换为gzip?@user2911701:您问题中的z
选项已经创建了压缩档案。如果它与您当前的问题无关,则不要将其放在注释中,尽管我需要使用Bash命令。这是大学的工作,我需要使用tarcommandsok的子流程,明白了。无论如何,当你需要解决实际问题时,这里有一个很好的方法。