.tar和.zip之间的转换

文接上回,我需要通过git导出.zip,无奈Windows不支持通过管道输出.zip包,于是我通过python脚本实现.tar和.zip之间的转换。
话不多说,见(xian)代码:

import os
import tarfile
import zipfile
#解压tar文件
tarfilepath = 'E:\20210909.tar'
tar = tarfile.TarFile(tarfilepath , "r")
if os.path.isdir(os.path.splitext(tarfilepath)[0]):
	rf_list = tar.namelist()#获取tar文件内所有文件的名称列表
else:
	os.mkdir(os.path.splitext(tarfilepath)[0])
tar.extractall(os.path.splitext(tarfilepath)[0])#将tar文件内的指定文件解压到当前目录
tar.close()
#压缩zip文件
sfilepath = 'E:\\'
zipfilepath = 'E:\20210909.zip'
zip = zipfile.ZipFile(zipfilepath, "w")#创建一个zipfile对象,表示一个zip文件
for path, spath, filenames in os.walk(sfilepath):
	fpath = path.replace(sfilepath, '')
	for filename in filenames:
		zip.write(os.path.join(path, filename), os.path.join(fpath, filename))#将指定文件添加到zip文件中
zip.close()

TarFile官方文档
ZipFile官方文档
至此,完美结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值