我按照别人的榜样创建了这个环境数据记录器,但是我感觉自己效率很低。我一次打开连接。我一直在创建游标对象(为此是否甚至需要它们?),恐怕最终会实例化大量的游标对象。另一方面,我不知道如何释放游标对象(c.close()是否这样做?)
我在使用其他语言时的经验是,连接对象对不返回此类查询的查询具有“执行”方法。咨询吗?
#!/usr/bin/python
import sys
import Adafruit_DHT
import MySQLdb
import time
conn=MySQLdb.connect(host="localhost",user="root",passwd="xxxxxx5",db="EnviroLogger")
while True:
humidity, temperature = Adafruit_DHT.read_retry(11, 4)
temperaturef=((temperature*9)/5)+32
datatime=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
c=conn.cursor()
c.execute ("INSERT INTO ResDataLog(ID,Location,Temperature, Humidity, RecDate) VALUES(null,'8200-Crawl',"+str(temperaturef)+","+str(humidity)+",'"+datatime+"');")
print 'Temp: {0:0.1f} F Humidity: {1:0.1f} % @ '.format(temperaturef, humidity),datatime
conn.commit()
time.sleep(600) #10 minutes