需要用到两个库,zipfile、tarfile
import zipfile
import tarfile
def compress(paths,files):
""" 压缩 支持zip、tar
paths:压缩文件路径(D:\\a.zip),files:要压缩的文件列表[a.txt,b.txt] """
if paths.endswith('.zip'):
z = zipfile.ZipFile(paths, 'w', zipfile.ZIP_STORED)
for i in files:
z.write(i)
z.close()
elif paths.endswith('.tar'):
tar = tarfile.open(paths, 'w')
for i in files:
tar.add(i)
tar.close()
def uncompress(paths):
""" 解压 支持zip、tar
paths:压缩文件路径(D:\\a.zip) """
if paths.endswith('.zip'):
z = zipfile.ZipFile(paths, 'r')
z.extractall(path=".")
z.close()
elif paths.endswith('.tar'):
tar = tarfile.open(paths, 'r')
tar.extractall(path=".")
tar.close()
注:此代码只是个人根据当时的环境满足了当时的需求,记录下来用做后续参考!如有问题,请检查软硬件环境是否一致,由于时间精力有限,大部分未做详细环境描述。