python sqlite3 写入图片
时间: 2024-08-15 13:02:42 浏览: 94
在Python中,SQLite是一个轻量级的关系型数据库,虽然它的功能相对有限,但它可以直接操作数据库文件,包括插入图片。不过,SQLite本身并不直接支持存储二进制数据如图片,你需要先将图片转换成字节串(通常使用`bytes`对象),然后将其作为BLOB(Binary Large Object)类型存储。
以下是一个简单的例子,展示如何使用`sqlite3`模块将图片写入数据库:
```python
import sqlite3
import io
# 连接到SQLite数据库
conn = sqlite3.connect('my_database.db')
cursor = conn.cursor()
# 假设图片名为 'image.jpg'
with open('image.jpg', 'rb') as image_file:
# 将图片读取为字节流
img_bytes = image_file.read()
# 创建一个新的表,如果有需要的话,可以先创建一个表来专门存储图片
cursor.execute("""
CREATE TABLE IF NOT EXISTS images (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
data BLOB
)
""")
# 插入图片到表中
cursor.execute("INSERT INTO images (name, data) VALUES (?, ?)", ('image.jpg', img_bytes))
# 提交事务并关闭连接
conn.commit()
conn.close()
```
阅读全文