PYTHON如何在内存中生成ZIP文件
如题,代码如下:
class MemoryZipFile(object):def __init__(self):#创建内存文件self._memory_zip= StringIO.StringIO()def append_content(self, filename_in_zip, file_content):"""description: 写文本内容到zip"""zf= zipfile.ZipFile(self._memory_zip,"a", zipfile.ZIP_DEFLATED,False)zf.writestr(filename_in_zip, file_content)for zfilein zf.filelist: zfile.create_system= 0return selfdef append_file(self, filename_in_zip, local_file_full_path):"""
description:写文件内容到zip
注意这里的第二个参数是本地磁盘文件的全路径(windows:c/demo/1.jpg | linux: /usr/local/test/1.jpg)"""zf = zipfile.ZipFile(self._memory_zip, "a", zipfile.ZIP_DEFLATED, False)zf.write(local_file_full_path, filename_in_zip)for zfile in zf.filelist: zfile.create_system = 0 return self
def read(self):
"""description: 读取zip文件内容"""self._memory_zip.seek(0)return self._memory_zip.read()
def write_file(self, filename):
"""description:写zip文件到磁盘"""f = file(filename, "wb")f.write(self.read())f.close()
使用方法如下:
mem_zip_file= MemoryZipFile()mem_zip_file.append_content('mimetype',"application/epub+zip")mem_zip_file.append_content('META-INF/container.xml','''<?xml version="1.0" encoding="UTF-8" ?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> </container>''');#追加磁盘上的文件内容到内存,注意这里的第二个参数是本地磁盘文件的全路径(windows:c/demo/1.jpg | linux: /usr/local/test/1.jpg)mem_zip_file.append_file("1.jpg","c:\1.jpg")#将内存中的zip文件写入磁盘mem_zip_file.write_file("c:test.zip")#获取内存zip文件内容data= mem_zip_file.read()#上传到fdfsmy_fdfs_client.upload_by_buffer(data,'zip')
PYTHON如何在内存中生成ZIP文件相关推荐
- python在内存中生成Zip文件!
python在内存中生成Zip文件! - 天真的好蓝啊 - 博客园 python在内存中生成Zip文件! import zipfile import StringIO class MemoryZipF ...
- python生成epub文件_python在内存中生成Zip文件!
import zipfile import StringIO class MemoryZipFile(object): def __init__(self): #创建内存文件 self._memory ...
- 通过多线程压缩提高生成 Zip 文件的效率
在很多情况下,需要用 Zip 格式保存数据文档.当数据量较大时(超过100M),就会明显感觉到保存文件耗时很长(超过10秒),这样的用户体验难以接受,想要优化. 现有开源方案 zlib-ng/zlib ...
- Python 自动化教程(5) : 自动生成Word文件
系列教程: Python 自动化教程(1) 概述,第一篇 Excel自动化 Python 自动化教程(2) : Excel自动化:使用pandas库 Python 自动化教程(3) : 自动生成PPT ...
- hadoop直接解压hdfs中的zip文件
公司需求上传zip文件到hdfs中,然后解压缩.百度很久没找到直接在hadoop中解压zip的方法.大多数都是使用java连接hdfs读取.解压缩.写回hdfs中,但是这样逃不开网络带宽的限制.所以就 ...
- Python 自动化教程(4) : 自动生成PPT文件 Part 2 (干货)
系列教程: Python 自动化教程(1) 概述,第一篇 Excel自动化 Python 自动化教程(2) : Excel自动化:使用pandas库 Python 自动化教程(3) : 自动生成PPT ...
- Java中的Zip文件操作
0. 简介 简单的生成和读取 zip 文件 package com.willhonor.test;import static java.nio.charset.StandardCharsets.UTF ...
- 【收藏】Python利用Excel+模板批量生成word文件
Python利用Excel+模板批量生成word文件 最近帮朋友批量生成小区业主物业费未缴的律师函.朋友那有物业那边的表格数据,包括楼栋-房间号.业主姓名.欠费日期.欠款金额等信息.目的是需要将这些表 ...
- vector与结构体联合使用 在磁盘中生成.txt 文件
一下纯属个人总结.欢迎拍砖!谢谢 我意思到以练促进学习C++编程基础是很有帮助的 这篇文章是我为了熟悉掌握文件流和STL中的vector以及结构体三个只知识点所写的代码: #include <s ...
最新文章
- “编程能力差的程序员,90%输在这事上!”谷歌AI专家:都是瞎努力!
- 【Android 逆向】Dalvik 函数抽取加壳 ( 类加载流程分析 | Class.cpp#findClassNoInit 函数 | DexFile.cpp#dexFindClass 函数分析 )
- 忘记了root密码怎么办?
- python2和python3如何共存,如何安装多版本python python2和python3共存以及pip共存
- 有凤来仪的意思是什么?成语有凤来仪比喻什么?
- 计算机报名填错学制,2017年在职研究生填报信息发现错误怎么修改?
- Android TabActivity与Activity之间的动画跳转(主要Tabhost中跳转出来的动画效果解决)...
- python文件数据类型_python 数据类型 ---文件一
- 14款国内外主流三维GIS软件
- linux应用程序故障排查,为Linux应用程序排查故障的另类方法
- vue两列数据 合并成一列
- 吉安梵媛:人间最美是——原谅!
- linux下安装drcom方法
- 细数互联网企业组织架构大调整
- GitHub + PicUloader + jsDelivr : 通过 web 上传的免费图床和图像访问 CDN 加速
- Free Icon Tool(icon图标提取器)绿色便携版V2.1.5 | 应用图标提取器下载 | 快速提取exe中的ico图标
- 高仿凤凰新闻的加载效果
- /var/ha/soc/hagsdsocket./cdrom/rootpre.sh[338]: /usr/lpp/ssp/bin/spget_syspar
- 多模态机器学习简述(Guide to Multimodal Machine Learning)
- CAD梦想画图中的“绘图工具——点”