看板 Python 關於我們 聯絡資訊
目的是將int list,存入sqlite3的資料庫的一個欄位中,在之後讀出回復為int list。 但是在讀取之後,不知道應該怎麼將位元矩陣恢復為4-byte為單位的整數資料 寫入的過程如下: # 建立資料庫和數值初始化 c.execute('''CREATE TABLE IF NOT EXISTS Log (id INTEGER PRIMARY KEY, tag TEXT, data BLOB)''') tmp = [1, 2, 3, 4] # int list 轉換為 buffer a = array.array('I', tmp) b = buffer(a.tostring()) # 寫入新資料 c.execute('''INSERT INTO Log(tag, data) VALUES ('R1', ?)''', (b,)) conn.commit() 目前的讀取方式: for row in c.execute('''SELECT * FROM Log'''): print bytearray(row[2])[0] print bytearray(row[2])[1] print bytearray(row[2])[2] 然後就看到原本的4-byte的數值被切成1-byte,不知道應該怎麼恢復。 雖然我也可以自己加乘起來,但是這貌似不是這樣設計的,就來po文問問。 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.124.197.149 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1401967970.A.7E5.html
kilfu0701:http://pastie.org/9261368 06/05 23:34