2015-07-23 2 views
0

Я пытаюсь извлечь изображения из местоположения в (mysql) ID, он создает папки в соответствии с идентификатором таблицы mysql, но изображения не копируются (извлечение изображений из одного места и копирование их по ID-адресу)Изображение не скопировано в папку, указанную в python

вот мой сценарий.

import datetime 
import sys 
import os 
import MySQLdb 

db_driver = "mysql" 
host = "localhost" 
db = "customer_1" 
user = "root" 
passwd = "H0t" 

db = MySQLdb.connect(host='localhost', user='root', passwd='H0t', db='customer_1') 
cursor = db.cursor() 

cam_name = sys.argv[1] 
topLevel = "/var/wwwdev/cam_images/%s_anpr_vega" % cam_name 

sql = """select id,image FROM %s_anpr_vega WHERE image IS NOT NULL LIMIT 20000""" % cam_name 
print sql 
cursor.execute(sql) 
retval = cursor.fetchall() 
for values in retval: 
    (id, image) = values 
    id_string = "%s" % id 
    path_string = "" 
    for i in range(len(id_string)): 
     path_string = "%s/%s" % (path_string, id_string[i]) 

    imdir = "%s%s" % (topLevel, path_string) 
    try: 
     os.makedirs(imdir) 
    except: 
     pass 

    image_path = "%s.jpg" % imdir 
    print image_path 
    fp = open(image_path, "w") 
    fp.write(image) 
    fp.close(); 
    sql = """UPDATE %s_anpr_vega SET image=NULL WHERE id=%s""" % (cam_name, id) 
    print sql 
    cursor.execute(sql) 

sql = """OPTIMIZE TABLE %s_anpr_vega """ % cam_name 
print sql 
#cursor.execute(sql) 

ответ

0

Вы уверены, что это не просто создание файлов изображений с именем «.jpg» в каждой папке?

Мне кажется, что вы забыли часть имени вашего image_path. Вы должны увидеть, что в отпечатках, выходящих из этого кода.

Если вы используете проводник Windows или что-то подобное, вы можете не заметить файлы с именами в формате dot-named.

+0

Или напечатать изображение как base64 Или тип контента jpg для picture_server.py – dsgdfg

+0

Спасибо Borealid, Нет, он создает только папки. – pretyv5

+0

@ pretyv5 И что это печатает для 'image_path'? – Borealid

Смежные вопросы