使用Python3中的SQLAlchemy在sqlite3数据库中存储和读取文件

时间:2015-10-04 16:08:04

标签: python-3.x sqlite sqlalchemy

我想从我的硬盘驱动器存储和读取文件(例如myfile.dat)到sqlite3数据库,通过Python3访问SQLAlchemy。

我想为Person-table的每一行存储一张图片。我只想在显示该Person的数据时在GUI中显示该图片。

1 个答案:

答案 0 :(得分:1)

只需从硬盘驱动器以二进制模式读取文件,并将其作为BLOB存储到数据库中。

 with open('image.png', 'rb') as f:
     fcontent = f.read()

从数据库获取BLOB(作为image)并将其提供给Python字节流。 然后你可以使用它,例如作为wxPython中的 Stream-Object

 # read the BLOB as 'image' from database
 # and use it
 stream = io.BytesIO(image)
 image = wx.Image(stream)
 bitmap = wx.Bitmap(image)