I’m trying to write a simple Python script that inserts .odt documents into an SQLite database. Here is what I have done so far, but it doesn’t seem to work:
f=open('Loremipsum.odt', 'rb')
k=f.read()
f.close()
cursor.execute="INSERT INTO notes (note) VALUES ('%s')" %(sqlite.Binary(k))
cursor.close()
conn.close()
I don’t get any error messages, but as far as I can see the record is not inserted. What am I doing wrong? Also, how can I extract the stored document back? Thanks!
Not sure what is that
sqlite.Binaryyou’re using, but, anyway, here’s a working example:When run with Python 2.6, this code shows, as expected and desired:
‘\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !”#$%&\'()*+,-./0123456’
Note the need to use
bufferto insert the blob, andstrto read it back as a string (since it uses thebuffertype as a result as well) — if you’re just going to write it to disk the latter passage would not be needed (since thewritemethod of files does accept buffer objects just as well as it accepts strings).