我想在sqlite数据库中保存数据,数据是@function和大小,块大小和转储(从@f中提取和读取@size字节并返回数据)这些数据是通过分析二进制文件获得的。Screenshot shwing the data
try:
con = lite.connect('younes.db')
c = con.cursor()
c.execute(" CREATE TABLE IF NOT EXISTS disas(NAMEvarchar(20),STADDR INTEGER,BLOCK INTEGER, DUMP BLOB )")
c.execute("INSERT INTO disas VALUES ('"+f.name+"', "+str(f.addr)+", "+str(b.size)+",'"+dump+"')
except lite.Error, e:
if con:
con.rollback()
print "Error %s:" % e.args[0]
sys.exit(1)
finally:
if con:
c.close()
con.close()
File "testy.py", line 58
c.execute("INSERT INTO disas VALUES ('"+f.name+"', "+str(f.addr)+", "+str(b.size)+",'"+dump+"')^
SyntaxError: EOL while scanning string literal发布于 2016-07-18 00:00:18
字符串中缺少一个结束的"和一个结束的)。
应该是这样的:
c.execute("INSERT INTO disas VALUES ('" + f.name + "', " + str(f.addr) + ", " + str(b.size) + ",'" + dump + "')")如果你这样做,你会更容易阅读你的字符串:
sql = "INSERT INTO disas VALUES ('{name}', '{addr}', '{size}', '{dump}')".format(
name=f.name,
addr=f.addr,
size=b.size,
dump=dump
)
c.execute(sql)这更容易阅读,也更容易发现哪里出了问题。
https://stackoverflow.com/questions/38423019
复制相似问题