是的,我对这件作品的目标是将打印值输入数据库,但在从终端查询时,数据库返回浮点而不是打印值是否有办法强制将其传递给数据库。这是我的代码
def getCpuLoad():
"""
Returns the cpu load as a value from the interval [0.0, 1.0]
"""
dt = list(deltaTime(INTERVAL))
idle_time = float(dt[3])
total_time = sum(dt)
load = 1-(idle_time/total_time)
return load
def diskspace():
stats = os.statvfs('/opt')
freespace = stats.f_bavail * stats.f_frsize
freespace / 1048576
return freespace
while True:
print time.strftime("%A, %B, %d, %Y, %H, %M"),"CPU usage=%.2f%%" % (getCpuLoad()*100)
cursor.execute('''INSERT INTO mytable (Date, Cpu) VALUES (?,?)''',(today, getCpuLoad()))
print time.strftime("%A, %B, %d, %Y, %H, %M"), diskspace()
cursor.execute('''INSERT INTO mytable (Date, free) VALUES (?,?)''',(today,diskspace()))
可以看出 cursor.commit() ,我在打印时对浮点进行舍入,但如上所述,它只插入它而不进行转换。任何人都可以帮助请清楚,因为我仍在学习两者。python和sqlite3。