Python 是否可以在内存中创建多个文件,然后将其压缩并写入磁盘?
是否可以在内存中创建文件,并在将其写入磁盘之前将其按层次结构进行排列Python 是否可以在内存中创建多个文件,然后将其压缩并写入磁盘?,python,Python,是否可以在内存中创建文件,并在将其写入磁盘之前将其按层次结构进行排列 open语句是否可以重定向到某种内存表示 我目前创建压缩目录的技术如下: 将内存中的所有内容写入临时文件夹 创建一个zipfile对象 重新加载以前生成的所有文件 将它们添加到zip并保存 删除所有临时文件 最终的结局是这样的: Zipped_root | | |---- file1.txt | |---- Image1.png | |---- Image
open
语句是否可以重定向到某种内存表示
我目前创建压缩目录的技术如下:
zipfile
对象Zipped_root
|
|
|---- file1.txt
|
|---- Image1.png
|
|---- Image2.png
|
|---- file...N.txt
|
有没有办法在内存中完成这一切 是的。看一看关于压缩对象的zlib模块文档。还有一个归档模块,可用于创建要压缩的归档对象。您可以随时访问文档:
$ python
>>> import zlib
>>> help(zlib)
对。看一看关于压缩对象的zlib模块文档。还有一个归档模块,可用于创建要压缩的归档对象。您可以随时访问文档:
$ python
>>> import zlib
>>> help(zlib)
不久前,我实现了一个小型python库(),用于创建虚拟目录、文件,甚至在需要时压缩它们。从自述文件(虚拟目录在末尾被压缩):
我这么做只是为了好玩,还没有对它进行过广泛的测试,但也许它对您还是有用的。不久前,我实现了一个小型python库(),用于创建虚拟目录、文件,甚至在需要时压缩它们。从自述文件(虚拟目录在末尾被压缩):
我这么做只是为了好玩,还没有对它进行过广泛的测试,但不管怎样,它可能对你有用。你读过ZipFile文档吗?有一个ZipFile.writestr()方法允许直接传递数据。@TimPeters我有。它适用于文本文件。然而,我也希望能找到一种写图片的方法。你看过图书馆吗?这听起来很有帮助。数据就是数据——在位级别上,文本文件和图像文件没有区别。你有什么问题?@TimPeters当我试图将PIL图像对象传递给它时,它抛出了一个错误。然而!利用上面SethMMorton的建议,我能够将
PIL
对象与StingIO
模块一起使用,然后将其传递给zipfile库的writestr
函数。现在真是魅力四射!谢谢你看过ZipFile文档了吗?有一个ZipFile.writestr()方法允许直接传递数据。@TimPeters我有。它适用于文本文件。然而,我也希望能找到一种写图片的方法。你看过图书馆吗?这听起来很有帮助。数据就是数据——在位级别上,文本文件和图像文件没有区别。你有什么问题?@TimPeters当我试图将PIL图像对象传递给它时,它抛出了一个错误。然而!利用上面SethMMorton的建议,我能够将PIL
对象与StingIO
模块一起使用,然后将其传递给zipfile库的writestr
函数。现在真是魅力四射!谢谢