python生成epub文件_python在内存中生成Zip文件!
import zipfile
import StringIO
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 zfile in zf.filelist: zfile.create_system = 0
return self
def 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" ?>
''');
#追加磁盘上的文件内容到内存,注意这里的第二个参数是本地磁盘文件的全路径(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()
#上传到fdfs
my_fdfs_client.upload_by_buffer(data, 'zip')
to everyone: 2013,Happy New Year!!!!!
python生成epub文件_python在内存中生成Zip文件!相关推荐
- python解压zip文件_python怎样压缩和解压缩ZIP文件(转)
有时我们需要在 Python 中使用 zip 文件,而在1.6版中,Python 就已经提供了 zipfile 模块可以进行这样的操作.不过 Python 中的 zipfile 模块不能处理多卷的情况 ...
- python包的init文件_Python模块包中__init__.py文件功能分析
本文实例讲述了Python模块包中__init__.py文件功能.分享给大家供大家参考,具体如下: 用django做开发已经一年多的时间,但基本没注意python模块中__init__.py文件存在的 ...
- python读取zip包内文件_Python模块学习:zipfile zip文件操作
最近在写一个网络客户端下载程序,用于下载服务器上的数据.有些数据(如文本,office文档)如果直接传输的话,将会增加通信的数据量,使下载时间变长.服务器在传输这些数据之前先对其进行压缩,客户端接收到 ...
- python在内存中生成Zip文件!
python在内存中生成Zip文件! - 天真的好蓝啊 - 博客园 python在内存中生成Zip文件! import zipfile import StringIO class MemoryZipF ...
- PYTHON如何在内存中生成ZIP文件
如题,代码如下: class MemoryZipFile(object):def __init__(self):#创建内存文件self._memory_zip= StringIO.StringIO() ...
- ARM程序的镜像文件以及在内存中的分区
最近在对程序的编译和运行机制比较感兴趣,总结了一些关于ARM生成的镜像文件和在内存中的内容,同时还有一些疑问,欢迎大家指教. 首先,程序主要有以下三部分组成: RO:指程序的指令和常量(我们的代码编译 ...
- python如何读pst文件_Python 学习 第11篇:文件读写
Python的文件是一个重要的对象,使用open()函数来打开文件,创建文件对象,进行文件的读写操作.当数据用于交换信息时,通常需要把数据保存为有格式的文本数据,可以保存为有特定的行分隔符和列分隔符的 ...
- c++语言循环读写文件夹,在C++中逐行读取文件
file.txt的内容包括: 5 3 6 4 7 1 10 5 11 6 12 3 12 4 其中,5 3是一个坐标对.如何在C++中逐行处理此数据? 我可以得到第一行,但如何得到文件的下一行? if ...
- maven没有resource文件夹_maven项目中没有resource文件夹的问题
之前使用eclipse创建maven项目,文件夹都是建好的,这几次创建,都没有resource文件夹,需要手动创建resource. 现象描述 在eclipse中,创建maven项目有两种方式: 一种 ...
最新文章
- 程序员入职锦囊妙计 --读书笔记
- MFC控件的颜色设置
- 使用jsp实现word、excel格式报表打印-JSP教程,Jsp/Servlet
- 用redis实现消息队列
- IT职场的一些处事之道
- java 混码_kotlin java 混合代码 maven 打包实现
- aws lambda_跑来跑去:假人与AWS Lambda的第一次接触
- python做些什么项目内容_现在比较流行的python做什么项目最适合?
- 用Python看蜜雪冰城店铺在哪个省份最多~
- 单链表的实现操作(C语言)
- 如何使用泛型在新的可空上下文中启动健壮的C#项目?
- 2.Node.js access_token的获取、存储及更新
- FlipIt博弈模型和后续研究的改进
- [转]用Excel制作甘特图并管理项目
- Java之非对称加密
- 一、java入门(高琪java300集+java从入门到精通笔记)
- 计算机网络技术动态路由配置,计算机网络实验六动态路由的配置
- clickhouse源码:函数分析和自定义函数UDF
- 自己动手写CPU(11)——加载存储指令说明
- bootstrap-table固定表头固定列
热门文章
- ekf pose使用方法 ros_ubuntu16.04下ROS操作系统学习笔记(二)
- 多因子降维法(MDR,Multifactor Dimensionality Reduction )
- 文本处理三驾马车 • grep • sed • awk
- 论文笔记 Medical Entity Linking using Triplet Network
- mysql数据库目标库_修改mysql数据库的库名
- python pandas DataFrame 排序
- Pytorch笔记(python--类与对象(class and module))
- LeetCode 1119. Remove Vowels from a String--C++,Java,Python解法
- 企业dns服务器搭建
- mysql的聚合函数综合案例_MySQL常用聚合函数详解