在python要完成解压缩文件,可以使用的模块有shutil, tarfile, zipfile等,但shutil模块在py2中不支持解压。而tarfile使用起来又相对比较麻烦,所以可以考虑zipfile。或者组合使用
shutil模块
import shutil
# 文件压缩
ret = shutil.make_archive(
base_name="code/www", # 压缩包文件路劲
format='zip', # “zip”, “tar”
root_dir='code/blog' # 被压缩的文件件
)
print(ret)
# 解压文件
shutil._unpack_zipfile('code/www.zip', 'code/new')
shutil._unpack_tarfile('code/www.tar', 'code/new')
zipfile模块
import zipfile
# 压缩
z = zipfile.ZipFile('laxi.zip', 'w')
z.write('a.log')
z.write('data.data')
z.close()
# 解压
z = zipfile.ZipFile('laxi.zip', 'r')
z.extractall()
z.close()
使用tarfie模块
import tarfile
# 压缩
# taffile有一点不方便,需要添加文件
tar = tarfile.open('your.tar', 'w')
tar.add('utils/codes/blog/a1.py')
tar.add('utils/codes/blog/a3.py')
tar.close()
# 解压
tar = tarfile.TarFile('code/www.tar', 'r')
tar.extractall(path='/code/x1/') # 可设置解压地址
tar.close()