这两天工作时有个需要将图片打包下载的需求,研究了一下,分享出来给有需要的小伙伴
- 首先导入工具
import os,zipfile
# 压缩文件
def toZip(startdir):
'''startdir:要压缩文件夹的绝对路径 '''
file_news = startdir + '.zip' # 压缩后文件夹的名字
z = zipfile.ZipFile(file_news, 'w', zipfile.ZIP_DEFLATED) # 参数一:文件夹名
for dirpath, dirnames, filenames in os.walk(startdir):
fpath = dirpath.replace(startdir, '') # 这一句很重要,不replace的话,就从根目录开始复制
fpath = fpath and fpath + os.sep or '' # 这句话理解我也点郁闷,实现当前文件夹以及包含的所有文件的压缩
for filename in filenames:
z.write(os.path.join(dirpath, filename), fpath + filename)
print('压缩成功')
z.close()
return file_news