将数据定时写入数据库中:
import MySQLdb
import schedule
import time
class SaveToSql(object):
def __init__(self, conn):
self.conn = conn
# 储存
def save(self):
cursor = self.conn.cursor()
data_list = [1804, 0, 0, 1, 0, 0, 1, 0]
try:
sql = "insert into ces (name_one, name_two, name_three, name_four, name_five, name_six, name_seven, name_eight) values('%s','%s','%s','%s','%s','%s','%s','%s')"% (data_list[0],data_list[1],data_list[2],data_list[3],data_list[4],data_list[5],data_list[6],data_list[7])
cursor.execute(sql)
print('正在写入数据: ', sql)
rs = cursor.rowcount
"""判断数据库表中数据所影响行数是否为1,如果不是的话就进行异常抛出"""
if rs != 1:
raise Exception("数据插入错误.")
self.conn.rollback()
self.conn.commit()
finally:
cursor.close()
if __name__ == "__main__":
conn = MySQLdb.connect(
host = 'localhost',
port = 3306,
user = 'database_username',
passwd = 'database_password',
db = 'database_name',
)
def job():
save_data = SaveToSql(conn)
save_data.save()
try:
schedule.every(10).seconds.do(job)
except Exception as e:
print('错误: %s'% e)
while True:
schedule.run_pending()
time.sleep(5)