写入内存文件而不是文件路径

时间:2014-04-21 13:35:04

标签: python memorystream

是否可以提供缓冲区的路径来写入数据而不是提供文件路径,例如而不是object.save("D:\filename.jpg")为它提供内存缓冲区的路径。我想这样做是为了避免将图像对象数据写入文件.JPG并将其直接保存到内存中,以便我可以将其保存在内存中而不是从磁盘再次加载它。

3 个答案:

答案 0 :(得分:1)

我相信您正在寻找StringIO库。

答案 1 :(得分:1)

如果要写入一个原始的字节缓冲区,请使用bitstring

>>> a = BitArray('0x1af')
>>> a.hex, a.bin, a.uint     # Different interpretations using properties
('1af', '000110101111', 431)

如果您不想要原始的位/字节数组,那么只需将您的图像对象保留在内存中即可。它和文件基本上是一样的,就像你说的那样 - 在内存中而不是在磁盘上。

答案 2 :(得分:0)

如果object.save支持类似文件的对象,也就是说,具有write-method的对象,则可以为该方法提供StringIO.StringIO实例。它与普通文件对象具有相同的接口,但将其内容保存在内存中。