我有什么方法可以将文件视为变量?
作为示例,当调用PIL图像模块保存函数时:Image.save("foo.jpg")
我希望所有数据不保存在硬盘上,而是引入变量{{1}这样当调用a
时,它应该返回文件内容的内容。
答案 0 :(得分: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 module page,它很短,很多很好的信息,包含chioka指出的StringIO。
答案 1 :(得分:7)
当然,请查看StringIO
模块。它为字符串提供了类似文件的接口。
http://docs.python.org/library/stringio.html
StringIO - File-like objects that read from or write to a string buffer.