python3图片转换二进制存入mysql

yipeiwu_com6年前Python基础

首先,在数据库中创建一个表,用于存放图片:

复制代码 代码如下:

CREATE TABLE Images(Id INT PRIMARY KEY AUTO_INCREMENT, Data MEDIUMBLOB);


然后运行如下PYTHON代码进行:

复制代码 代码如下:

# -*- coding: UTF-8 -*-
import MySQLdb as mdb
import sys
try:
    #用读文件模式打开图片
    fin = open("../web.jpg")
    #将文本读入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='localhost',user='root',passwd='root', db='test')
    #获取执行cursor
    cursor = conn.cursor()
    #直接将数据作为字符串,插入数据库
    cursor.execute("INSERT INTO Images SET Data='%s'" % mdb.escape_string(img))
    #提交数据
    conn.commit()
    #提交之后,再关闭cursor和链接
    cursor.close()
    conn.close()
except mdb.Error, e:
    #若出现异常,打印信息
    print "Error %d: %s" % (e.args[0],e.args[1])

相关文章

Python中关键字global和nonlocal的区别详解

Python中关键字global和nonlocal的区别详解

前言 终于下定决心学习Python了。既然从头开始,就需要认认真真。 首先需要说的是,我是初学Python,这篇文章只是用于展示global和nonlocal关键字的区别,是很简单的知识...

在Pycharm中设置默认自动换行的方法

如下所示: 只对当前文件有效的操作: 菜单栏->View -> Active Editor -> Use Soft Wraps; 如果想对所有文件都有效,就要在sett...

Django中更新多个对象数据与删除对象的方法

更新多个对象 例如说我们现在想要将Apress Publisher的名称由原来的”Apress”更改为”Apress Publishing”。若使用save()方法,如: >&...

python使用多进程的实例详解

python多线程适合IO密集型场景,而在CPU密集型场景,并不能充分利用多核CPU,而协程本质基于线程,同样不能充分发挥多核的优势。 针对计算密集型场景需要使用多进程,python的m...

python图片二值化提高识别率代码实例

python图片二值化提高识别率代码实例

这篇文章主要介绍了python图片二值化提高识别率代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 import...