Ich habe eine Python websocket Client-CodeFehler: Die lokale Variable vor der Zuweisung referenziert in Python
run_once1 = True
run_once2 = False
def on_message(ws, message):
if 'Temp' in message:
if run_once1 is True:
#Run this code once
print("Temp is present")
run_once1 = False
run_once2 = True
else:
if run_once2 is True:
#Run this code once
print("Temp is not present")
run_once1 = True
run_once2 = False
def on_error(ws, error):
print(error)
def on_close(ws):
print("CLOSE ")
def on_open(ws):
print("OPEN")
msg = "<MESSAGE>"
ws.send(msg)
ws = websocket.WebSocketApp(URL, on_message= on_message, on_error=on_error, on_close=on_close)
ws.on_open = on_open
ws.run_forever()
So in dem obigen Code, öffne ich eine websocket und dann, wenn ich eine neue Nachricht erhalten, wird on_message()
Funktion aufgerufen . Innerhalb dieser Funktion suche ich nach dem Tag Temp
in der Nachricht. Wenn es vorhanden ist, möchte ich nur das drucken und es einmal ausführen. Als nächstes, wenn nicht vorhanden ist, möchte ich es drucken und diesen Code auch nur einmal ausführen. Aber der obige Code gibt Fehler:
error from callback <function on_message at 0x000001D35366D840>: local variable 'run_once1' referenced before assignment
error from callback <function on_message at 0x000001D35366D840>: local variable 'run_once2' referenced before assignment
Wo soll ich diese Variable schreiben, so dass es mir nicht diesen Fehler.
Dank