有什么办法可以让我可以将文件视为变量?例如,当调用 PIL Image 模块中的函数 save 时:Image.save("foo.jpg")
我希望所有数据不保存在硬盘上,而是引入变量a
中,以便在a.read()
调用时返回文件内容是。
问问题
2605 次
2 回答
8
您可以使用BytesIO类将 PIL 图像保存到字节流中。
>>> from PIL import Image
>>> im = Image.open('ball.png')
>>> from io import BytesIO
>>> buffer = BytesIO()
>>> im.save(buffer, format='png')
>>> buffer.getvalue()
'\x89PNG\r\n\x1a\n\x00\ ...
可能值得阅读整个io 模块页面,它很短,有很多很好的信息,包含 StringIO,正如 ch3ka 指出的那样。
于 2012-04-28T19:18:02.813 回答
7
当然,看看StringIO
模块。它为字符串提供了一个类似文件的接口。
http://docs.python.org/library/stringio.html
StringIO - File-like objects that read from or write to a string buffer.
于 2012-04-28T19:17:47.267 回答