Je reçois des données d'un flux UDP envoyé à partir d'une base de données qui transmet ses données entrantes à un script Python.Extrait un entier de l'objet de données reçu du flux UDP
J'utilise le code suivant pour recevoir les données:
import socket
UDP_IP = "localhost"
UDP_PORT = 5060
sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM)
sock.bind((UDP_IP, UDP_PORT))
while True:
data, addr = sock.recvfrom(1024)
print (data)
Les données sont renvoyées sous forme d'objet comme octet (s'il vous plaît me corriger si je me trompe). Impression de la variable de données ressemblerait à quelque chose comme ceci:
b'nulldata,country=swe,region=europe,tag=tagged value=10 1505893007463590886'
Mais pourrait aussi ressembler à cela en fonction de ce que les données sont envoyées à partir du serveur:
b'nulldata,country=swe,region=europe,tag=tagged value=4123.4331,value2=123.5123, 1505893008892590551'
Quelle serait la façon la plus efficace d'extraction de la valeur numérique après value=
et value2=
ainsi que le id (1505893008892590551) et le stocker dans un dictionnaire ou une liste qui ressemblerait à quelque chose comme ça?
[1505893008892590551, 4123.4331, 123.5123]
ou
{'ID': 1505893008892590551, 'Value': 4123.4331, 'Value2': 123.5123}
Une méthode qui serait générique et fonctionnerait même si j'ajouté plus de valeurs seraient préférées!