中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

用Python把圖片存入數據庫的方法

發布時間:2020-07-03 16:10:58 來源:億速云 閱讀:763 作者:Ly 欄目:編程語言

這篇文章將為大家詳細講解有關用Python把圖片存入數據庫的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一般情況下我們是把圖片存儲在文件系統中,而只在數據庫中存儲文件路徑的,但是有時候也會有特殊的需求:把圖片二進制存入數據庫。

MYSQL是支持把圖片存入數據庫的,也相應的有一個專門的字段BLOB(Binary Large Object),即較大的二進制對象

還有個更大的存二進制的LONGBLOB;

這里需要注意:盡量把字段設置大一些,因為如果設置的字段長度過小,就會出現圖片只顯示一部分的情況。第二:如果數據量大的話盡量避免使用這種方式進行,因為mysql對于大數據的查詢速度會很慢。

1、首先讀取文件,用open()和close()打開和關閉;

2、接著用connect()創建數據庫連接;

3、用Binary()指定存儲的是二進制;

4、然后數據庫提交,關閉數據庫即可。

下面是具體的代碼:

#!/usr/bin/python 
#-*- coding: UTF-8 -*- 
   
import MySQLdb as mysql  
import sys  
try: 
    #讀取圖片文件 
    fp = open("./test.jpg") 
    img = fp.read() 
    fp.close() 
except IOError,e: 
    print "Error %d %s" % (e.args[0],e.args[1]) 
    sys.exit(1) 
try: 
    #mysql連接 
    conn = mysql.connect(host='localhost',user='root',passwd='123456',db='test') 
    cursor = conn.cursor() 
    #注意使用Binary()函數來指定存儲的是二進制 
    cursor.execute("INSERT INTO images SET data='%s'" % mysql.Binary(img)) 
    #如果數據庫沒有設置自動提交,這里要提交一下 
    conn.commit() 
    cursor.close() 
    #關閉數據庫連接 
    conn.close() 
except mysql.Error,e: 
    print "Error %d %s" % (e.args[0],e.args[1]) 
    sys.exit(1)

關于用Python把圖片存入數據庫的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西乡县| 赤水市| 新龙县| 怀集县| 广平县| 刚察县| 即墨市| 卓资县| 德保县| 黔西县| 泰来县| 富源县| 中卫市| 饶阳县| 北宁市| 太和县| 桐乡市| 濉溪县| 凤台县| 阜新市| 南开区| 永登县| 绥滨县| 克拉玛依市| 阿勒泰市| 西畴县| 正安县| 黎平县| 沅陵县| 镇平县| 寿阳县| 大理市| 讷河市| 汕尾市| 台南县| 虹口区| 彭水| 临江市| 万宁市| 荃湾区| 梨树县|