nach einigem googlen bin ich auf die Methode "group()" gestoßen, so läufts
Code: Alles auswählen
>>> table={}
>>> for m in re.finditer(r'(\w+)\s*\[(.+)\]', config):
... table[m.group(1)] = m.group(2).split(',')
...
>>> table
{'COUNT': ['1'], 'LOOPSTART': ['TEST_FLASHMODE'], 'TARGET': ['10'], 'DIAG': ['SET_ENERGIESPARMODE_NORMAL'], 'SEND': ['31', '01', '0F', '0C', '00'], 'SOURCE': ['F1'], 'EXPECT': ['71', '01', '0F', '0C', '*'], 'TIMEOUT': ['0']}
allerdings was ich über nettes Design gesagt habe nehm ich zurück ...
Warum finditer hier ein Objekt mit ganz anderem Interface zurückgibt als findall, insbesondere ein nicht indizierbares fällt mir schwer zu verstehen...