Чтение изображения из SQLite






В этой статье, мы собираемся выполнять обратную операцию. Мы будем читать изображение из таблицы базы данных. В прошлой статье мы записали данные изображения в таблицу, теперь мы превратим эти данные обратно в изображение.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sqlite3 as lite
import sys
def writeImage(data):
try:
fout = open('woman2.jpg','wb')
fout.write(data)
except IOError, e:
print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit(1)
finally:
if fout:
fout.close()
try:
con = lite.connect('test.db')
cur = con.cursor()
cur.execute("SELECT Data FROM Images LIMIT 1")
data = cur.fetchone()[0]
writeImage(data)
except lite.Error, e:
print "Error %s:" % e.args[0]
sys.exit(1)
finally:
if con:
con.close()
Мы читаем данные изображения из таблицы Images и пишем их в другой файл, который мы называем woman2.jpg. В базу данных можно сохранять изображения для капч, используя небольшой список русских слов (как это делает Яндекс) и выводить их для пользователя. Можно скрипт капчи скачать и использовать уже готовый для своих проектах.
try:
fout = open('woman2.jpg','wb')
fout.write(data)
Мы открываем двоичный файл в режиме записи. Данные из базы данных записываются в файл.
cur.execute("SELECT Data FROM Images LIMIT 1")
data = cur.fetchone()[0]
Эти две строки выбирают и получают данные из таблицы Images. Мы достаём двоичные данные из первой строки.
- ПМ Казино: игровые автоматы на любой вкус
- Игровой автомат Wolf Hunters - выгодный промокод Вулкан Секрет игрокам
- Игровой автомат Bananas go Bahamas - играй в мобильное казино Вулкан прямо со смартфона
- Игровой автомат Sindbad - играть онлайн в казино Адмирал 777 в слоты от Evoplay
- Remote debugging: PyCharm, pydev, rsync, django, postgis
- Игровой автомат Vikings Go Berzerk - на официальный сайт вулкан играть выгодно
- Объектно-ориентированное программирование. Определение класса и создание экземпляра класса в Python