2013-07-08 106 views
1

打開pylab圖像的web2py內工作,使用python 2.7,我有這樣的事情:困難來自於緩衝區對象

import matplotlib 
matplotlib.use('Agg') 
import pylab 
import Image 
import io 

temp_data = {'x':[1,2,3],'y':[2,4,5]} 

pylab.plot(temp_data['x'], temp_data['y']) 
img_buffer = io.BytesIO() 
pylab.savefig(img_buffer, format = 'png') 
Image.open(img_buffer) 

這就提出了

IO錯誤 - 「無法識別的圖像文件「

嘗試在我的服務器的python安裝(沒有web2py)產生相同的錯誤。嘗試這個在我的工作站的蟒蛇外殼給人(顯然,圖像模塊pylab衝突):

AccessInit: hash collision 3: for both 1 and 1 

任何想法,這是怎麼回事呢?謝謝。

回答

1

在寫入之前和讀取之前,您必須倒回img_buffer

pylab.savefig(img_buffer, format = 'png') 
img_buffer.seek(0) 
Image.open(img_buffer) 
+0

現貨,先生!謝謝! – Lamps1829