压缩文件夹,传输到前端
from zipfile import ZipFile,ZIP_DEFLATED
from flask import send_file
from io import BytesIO
def module_download():
location = request.args.get('filename') #接收前端参数,需要压缩的文件夹
memory_file = BytesIO()
with ZipFile(memory_file, "w", ZIP_DEFLATED) as zf:
for dirpath, dirnames, filenames in os.walk('/home/' + location):
for filename in filenames:
zf.write(os.path.join(dirpath, filename))
memory_file.seek(0)
return send_file(memory_file, attachment_filename='zip.zip', as_attachment=True)
如果单纯的只想压缩文件,不传输到前端
# 把文件打包成zip
def zip_file(path, file):
zip_name = path + '/{}.zip'.format(file)
z = ZipFile(zip_name, 'w', ZIP_DEFLATED)
for dirpath, dirnames, filenames in os.walk(path + '/' + file):
for filename in filenames:
z.write(os.path.join(dirpath, filename))
z.close()
return zip_name
版权声明:本文为cocos2dGirl原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。