0

我有一个相当动态的大对象,我想序列化并存储在我的 sqlite 数据库中。使用 pickle 模块,我将它变成了一个字符串,但我发现我必须对其进行字符串替换以将单引号更改出来,以便将其存储到数据库中。当我把它拿出来时,我只是撤消它。我是使用 pickle 和 sqlite 的新手,这至少可以工作,但这真的是正确的方法,还是有正确的方法来处理我没有看到的?

menu = pickle.dumps(menuOb)
menu = menu.replace("'", "''")
#sql statement stuff
4

1 回答 1

2

不要替换任何字符,只需插入一个 SQL 参数:

cursor.execute('INSERT INTO sometable VALUES (?, ?)', (id, pickle.dumps(menuOb))

SQL 参数会为您处理正确的引用。

于 2013-04-19T15:59:29.083 回答