python所有变量更新_在python中,如何动态更新变量?
您正在使用一個id(而不是一個id列表)在元組上循環(huán):((1424794931452.0,), (1424794931645.0,), (1424794931821.0,), (1424794932014.0,), (1424794932189.0,)
因此每個i都被設(shè)置為其中一個元組。通過使用索引或在for循環(huán)賦值中添加逗號來提取標(biāo)識:
^{pr2}$
或者for i, in data:
dt = datetime.fromtimestamp(i // 1000)
s = dt.strftime('%Y-%m-%d %H:%M:%S')
sql2 = "UPDATE accelerometer SET test = " + s + "WHERE _id=" + i
cursor.execute(sql2)
您應(yīng)該在這里真正使用SQL參數(shù)而不是字符串連接;然后可以重用SQL語句:sql2 = "UPDATE accelerometer SET test = ? WHERE _id=?"
for i, in data:
dt = datetime.fromtimestamp(i // 1000)
cursor.execute(sql2, (i, dt))
在這里我做了兩個假設(shè):您的數(shù)據(jù)庫驅(qū)動程序使用?作為占位符語法(可以改為%s),并且它本機(jī)支持datetime對象(現(xiàn)在大多數(shù)都可以),所以您不需要先使用datetime.strftime()來生成字符串。在
語句重用可以更進(jìn)一步,因為數(shù)據(jù)庫只需解析一次查詢,并且只需生成一個查詢計劃;這加快了重復(fù)執(zhí)行的速度。在
使用SQL參數(shù)還有另一個非常重要的優(yōu)點:它可以防止SQL注入攻擊(攻擊者添加引號和其他SQL語句)。對于你的具體意見,這不是一個太大的問題,但應(yīng)始終牢記在心。在
總結(jié)
以上是生活随笔為你收集整理的python所有变量更新_在python中,如何动态更新变量?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python的实例属性和静态属性_Pyt
- 下一篇: STM32H743+CubeMX-两路F