2012-04-28 65 views
1

有什麼辦法可以讓我可以將文件當作變量來處理? 作爲一個例子,當從PIL圖像模塊的功能保存叫:Image.save("foo.jpg")我想所有的數據不保存在硬盤上,但在變量a被引入,這樣,當a.read()被調用時,它應該返回什麼該文件的內容將是。Python變量和文件

回答

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閱讀,這是很短的,很多好的信息,包含StringIO的作爲ch3ka指出。

+0

感謝您的答案,它的工作,但又一個問題,'im.write'的目的是什麼? – 2012-04-28 19:32:18

+1

這就是我忘記適當的Image類方法來保存一下,我剛剛刪除:) – 2012-04-28 19:33:10