' mydgq2=b ' yyyy ' def pack _ up (: _ io=io.bytes io )内存中对应的二进制io对象ZF=zipfile.zipfile (' w ZipFile.ZIP_DEFLATED ) #使用上面的IO对象作为参数初始化zipfile对象,' w '表示写入,第三个参数是压缩算法(下面是writestr ) )方法请注意,文本内容和二进制内容都使用此方法ZF.writestr ) )将txt1) #txt1的内容转换为压缩包中的txt1.txt文件ZF.Writestr('txt2.txt ', txt2) #添加到压缩包中的txt2.txt文件ZF.Writestr ) ' mydgq1.writestr ) mydgq1) #mydgq1的内容在压缩包中的mydgq1.mydgq文件ZF.Writestr 将mydgq2内容添加到压缩包中的mydgq2.mydgq文件# zf.filelist#可以显示已向当前创建的ZipFile对象添加了四个文件的信息。 请注意,添加ZF.close(#文件后关闭。 否则,稍后将文件写入磁盘或直接扔向Flask发送也会出错。 #如果需要将当前创建的zip文件写入磁盘,请执行以下操作:withopen('d:XXX.zip ):' 如果需要抛向wb ' ) ASF:f.write(io.getbuffer ) ) Flask,可以使用路由函数通过以下方式手动创建响应并将其返回给客户端: (此处省略导入。 仅限想法提示(3360 resp=make _ response (io.getvalue ) ) resp.headers (' content-disposition ' )='attachement; filename=export.zip ' resp.headers [ ' content-type ' ]=' application/zip ' return resp