写入内存文件而非文件路径
有没有办法给一个内存缓冲区提供路径来写入数据,而不是给一个文件路径?比如说,不是用 object.save("D:\filename.jpg")
这种方式,而是给它一个指向内存的路径。我想这样做是为了避免把图片对象的数据写入文件,比如 .JPG
格式,而是直接保存到内存中,这样我就可以在内存里使用它,而不用再从磁盘上加载。
3 个回答
0
如果 object.save
支持类似文件的对象,这意味着你可以使用那些有写入方法的对象。你可以给这个方法提供一个 StringIO.StringIO
的实例。这个实例的使用方式和普通文件对象一样,但它的内容是保存在内存中的,而不是写到硬盘上。
1
如果你想要一个可以直接写入的原始字节缓冲区,可以使用bitstring。
>>> a = BitArray('0x1af')
>>> a.hex, a.bin, a.uint # Different interpretations using properties
('1af', '000110101111', 431)
如果你不想要一个原始的位或字节数组,那就把你的图像对象保存在内存中就行了。其实这和文件差不多,只不过是存储在内存里,而不是硬盘上。
1
我觉得你是在找 StringIO
这个库。