Je suis débutant en python. J'ai développé une fonction qui récupère des décimaux si le code de la fonction est égal à 1 et qui convertit ces décimaux en bits mais le souci c'est que cette fonction ne fonctionne pas. Il me renvoie une liste vide alors qu'elle doit pas. La liste des bits doit contenir bien des bits.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
def coil_val_list(s):
    v = []
    r = []
    i = []
    for p in s:
        if p.haslayer('ModbusADUResponse'):
            try:
                if p['ModbusADUResponse'][1].funcCode == 1:
                    r = v.extend(p['ModbusADUResponse'][1].coilStatus)
                    for i in r:
                        if i == 1:
                            v.extend([1,0,0])
                        else:
                            v += [int(bit)
                    for bit in str( bin(i) )[2:].zfill(8)] [::-1]
            except AttributeError:
                pass
    return v
J'ignore l'original de cet erreur ?