對第一種情況不能多說。
其次,您可以使用StringIO module。但是,只有當你用於解碼的庫接受類文件對象作爲參數。
編輯: 對於庫,你可以嘗試zbar和(https://pypi.python.org/pypi/zbar,https://github.com/ZBar/ZBar/tree/master/python)。如果你在Windows系統上,這個答案QR Code decoder library for python會幫助你。
編輯2: 現在經過一番搜索,zbar看起來是非常古老的庫,我發現的大多數例子都很舊。但是我能夠挖掘一些代碼。
import zbar
from PIL import Image
#create a reader
scanner=zbar.ImageScanner()
#configure the reader
scanner.parse_config('enable')
pil_img = Image.open() # You open your image data with PIL.
width, height=pil_img.size
raw = pil_img.tostring()
#wrap image data
image=zbar.Image(width, height, 'Y800', raw)
#scan the image for barcodes
scanner.scan(image)
#extract results
for symbol in image:
#do something useful with results
print symbol.type, ':\n%s' % symbol.data
對於PIL,我建議安裝Pillow模塊。
你用什麼來解碼自己? – 2014-12-05 14:08:46
目前我使用qrtools僅用於解碼部分 – JordyRitzen 2014-12-05 14:12:29
您是否將自己限制爲以位圖形式插入的QR碼? – usr2564301 2014-12-05 14:15:35