Use numpy.getbuffer (or sqlite3.Binary ) in combination with numpy.frombuffer to lug numpy data in and out of the sqlite3 database: import sqlite3, numpy r1d = numpy.random.randn(10) con = sqlite3.connect(':memory:') con.execute("CREATE TABLE eye(id INTEGER PRIMARY KEY, desc TEXT, data BLOB)") con.execute("INSERT INTO eye(desc,data) VALUES(?,?)", ("1d", sqlite3.Binary(r1d))) con.execute("INSERT INTO eye(desc,data) VALUES(?,?)", ("1d", numpy.getbuffer(r1d))) res = con.execute("SELECT * FROM eye").fetchall() con.close() #res -> #[(1, u'1d', <read-write buffer ptr 0x10371b220, size 80 at 0x10371b1e0>), # (2, u'1d', <read-write buffer ptr 0x10371b190, size 80 at 0x10371b150>)] print r1d - numpy.frombuffer(res[0][2]) #->[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] print r1d - numpy.frombuffer(res[1][2]) #->[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] Note that for work where data ty...
Does this affect the data on the volume? I've got a new iMac with dual drives. The second drive is mounted at /Volumes/Macintosh HD 2. This is causing fits with some Unix stuff. Don't like the spaces in the name of the volume. Would like to rename it but don't want to risk losing the 200GB's of data on that drive.
ReplyDeleteHmm, I don't believe it does.
ReplyDeleteAlso, you can achieve the same result via the GUI:
Right click on the volume
Either click 'rename' or click get info and then change the name in the 'name and extension' edit box.
If your Home directory is on the volume where you're changing name, then you can not log in again. You need to tell OS X the new path.
ReplyDeleteOpen System Preferences -> Users & Groups and click the lock in the lower left corner to enable changes.
Then right click (Ctrl+click) on your account and choose Advance Options... To the right of the label that says Home directory, you click on Choose... and select your Home directory (will be located under your new name).
If you fail to do so before rebooting, you have to open OS X in recovery mode (Command+R while booting). There you can open terminal in the menu at the top and rename your volume back to what it was before. Use diskutil rename /Volumes/Volume NewVolName