Python 读写图片

来源:互联网 发布:海豚加速器for mac 编辑:程序博客网 时间:2024/05/22 14:46
#coding:utf-8'''用来进行初始化数据库的模块'''import MySQLdb as mdbimport DBconfimport sysreload(sys)sys.setdefaultencoding('utf-8')tablequestion = 'hf_question'def createDB():conn = mdb.connect(host=DBconf.host,user = DBconf.user,passwd = DBconf.passwd)cursor = conn.cursor()cursor.execute("drop database if exists %s;\create database if not exists %s \default character set utf8",(DBconf.db,DBconf.db))cursor.execute("use historyfinal")def insertPicture(imgurl,pid):try: #用读文件模式打开图片  fin = open(imgurl,'rb')  #将文本读入img对象中  img = fin.read() fin.close() except IOError, e: #如果出错,打印错误信息  print "Error %d: %s" % (e.args[0],e.args[1])  sys.exit(1) try:  #链接mysql,获取对象  conn = mdb.connect(host=DBconf.host,user=DBconf.user,passwd=DBconf.passwd, db=DBconf.db,charset='utf8')  #获取执行cursor  cursor = conn.cursor()  #直接将数据作为字符串,插入数据库  cursor.execute("UPDATE hf_question set picture =%s where pid=%s" , (mdb.Binary(img),pid)) #提交数据 conn.commit()  #提交之后,再关闭cursor和链接  cursor.close()  conn.close()  except mdb.Error, e:  #若出现异常,打印信息  print "Error %d: %s" % (e.args[0],e.args[1])  sys.exit(1)



图片的存储方式有两种:

一种是以文件的方式存储,通过文件管理系统进行读取

另外一种方式是将图片以blob的形式存储在数据库中。

当然除了图片之外的其他多媒体形式都可以直接存储在数据库中,但是如果媒体比较大的情况下,直接存储在数据库中不是一个好的点子,

读取和存储要花费大量的时间,不如以文件的方式存储,将文件路径存储在数据表中、

原创粉丝点击