Armazenando imagens em bancos de dados sqlite

Este script veio mesmo a calhar, pois vai tornar mais interessante a série de tutoriais que estou fazendo sobre o SQLite3 e sobre o Python Imagin Library, Biblioteca para manipular imagens em Python .

O script seguinte mostra como usar tipos Blobs, tipos usados para arquivos binários em bancos de dados, para adicionar uma imagem ao banco de dados, e depois retirar a imagem para um arquivo normal novamente. O script foi escrito por S. Dave Rose.

 

from pysqlite2 import dbapi2 as sqlite
import os

blobdata = open('c:\\sqlite3\\img.jpg','rb').read()

con = sqlite.connect(':memory:')
cur = con.cursor()

cur.execute("Create table picture_table(images)")
cur.execute("Insert into picture_table(images) values (?)",
(sqlite.Binary(blobdata),))
con.commit()

cur.execute("select * from picture_table")
returnImg = cur.fetchone()
print returnImg

imgOut = open('C:\\imgOut.jpg','wb')
imgOut.write(returnImg[0])
imgOut.close()

cur.close()
con.close()

Não é necessário explicar detalhadamente cada linha de código, pois está tudo explicado nos outros artigos sobre o módulo SQLite3 para Python e no curso de programação em Python .
Depois de ver este script, talvez se interesse em estudar um pouco mais as bibliotecas Python Imaging Library e o módulo SQLite3 para Python. Este script não funciona só com a biblioteca Python Imaging Library, mas também pode ser usada para gravar dados binários em jogos e outras aplicações escritas em Python.

Receba nossas actualizações por email

Ver Campanhas anteriores.

(Visited 145 times, 1 visits today)
Share