Bonjour,

Auriez-vous svp une explication pour les class.
l'affichage de l'ensemble des éléments sembles ne pas correspondre à l'ordre de déclaration dans le fichier source.

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
 
class Trame:
    # Trame ethernet de 14 octets
    def __init__(self):
        self.Eth_macsrc    = '\x00\x00\x00\x00\x00\x00'
        self.Eth_macdst    = '\x00\x00\x00\x00\x00\x00'
        self.Eth_type      = '\x08\x06'
    # Trame ARP de 28 octets
        self.Arp_hardtype  = '\x00\x01'
        self.Arp_protocol  = '\x08\x00'
        self.Arp_taillemac = '\x06'
        self.Arp_tailleip  = '\x04'
        self.Arp_op        = '\x00\x00'
        self.Arp_macsrc    = '\x00\x00\x00\x00\x00\x00'
        self.Arp_ipsrc     = '\x00\x00\x00\x00'
        self.Arp_macdst    = '\x00\x00\x00\x00\x00\x00'
        self.Arp_ipdst     = '\x00\x00\x00\x00'
Pour avoir les éléments de ma classe et leurs valeurs j'utilse __dict__keys() et __dict__values()

rendu:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
['Arp_taillemac', 'Arp_tailleip', 'Arp_macsrc', 'Arp_protocol', 'Eth_macsrc', 'Arp_hardtype', 'Arp_op', 'Eth_type', 'Eth_macdst', 'Arp_ipsrc', 'Arp_macdst', 'Arp_ipdst']
['06', '04', 'xxxxxxxx', '0800', 'xxxxxxxx', '0001', '0001', '0806', 'ffffffffffff', 'xxx.xxx.x.xx, '000000000000', 'xxx.xxx.xx.xxx']
('\x00\x01', '\x08\x00', '\x06', '\x04', '\x00\x01', "\xxxxxxxxxxxxf", '\xxxxxxxxx\x11', '\x00\x00\x00\x00\x00\x00', 'xxxxxxxxxxe')

Est-il possible de demander le __dict__.keys() dans l'ordre de la source.py ?

Cordialement,
sun