是否可以用python连续读取数据库?

时间:2019-02-12 10:25:48

标签: python sql raspberry-pi

我正在使用Raspberry Pi和佳能SLR开发3D扫描仪。为了控制反射和转盘,我使用了开发的简单Web界面。

但是我必须在HTML界面和Python控制程序之间建立“开始”或“暂停”按钮之间的链接。因此,我创建了一个数据库来存储SLR的设置(ISO,Shutterspeed ...)。

例如,是否可能在数据库中有一个状态为truefalse的暂停按钮框,然后在python程序中连续读取它?

我在下面做了一些测试代码:

import mysql.connector
import time 

mydb = mysql.connector.connect(
    host="localhost",
    user="scanner",
    passwd="valentin",
    database="Scanner3D"
    )

print(mydb)

mycursor = mydb.cursor()
mycursor.execute("SELECT a FROM test")
myresult = mycursor.fetchall()    
print(myresult)
myresult = str(myresult)
print(myresult)
x = myresult[2:4]
print(x)

while x == "10":

    print("Hello World")
    time.sleep(1)

    mycursor.execute("SELECT a FROM test")
    myresult = mycursor.fetchall()
    myresult = str(myresult)
    x = myresult[2:4]
    print(x)

问题是当我更改数据库中A的值时,程序从不显示新值,也从不离开循环,这是什么问题?

1 个答案:

答案 0 :(得分:0)

考虑使用像websocket这样的实时通信。 最简单的方法是:当扫描程序扫描某些值并将其保存到DB时,通过websocket命令发送给客户端,以从服务器提取新数据。或者,您可以直接在websocket消息中发送新数据。

非常好的教程在这里:https://realpython.com/python-sockets/