Я читаю файл со следующими данными,
char peer0_3[] = { /* Packet 647 */
0x02, 0x00, 0x04, 0x00, 0x11, 0x01, 0x06, 0x1b,
0x04, 0x01, 0x31, 0x0a, 0x32, 0x30, 0x31, 0x39,
0x2d, 0x30, 0x36, 0x2d, 0x31, 0x30, 0x0a, 0x32,
0x30, 0x31, 0x39, 0x2d, 0x30, 0x36, 0x2d, 0x31,
0x30, 0x01, 0x30 };
со следующим кодом, чтобы получить этот текст 'C' в списке Python
f=open(thisFile,'r')
contents=f.read()
tcontents=re.sub('\/\*.*\*\/','',contents).replace('\n', '').strip() #suppress the comments
xcontents = re.findall("{(.+?)};", tcontents, re.S) #find the arrays
frames=[]
for item in xcontents:
splitData =item.split(',')
buff=bytes()
for item in splitData:
packed = struct.pack("B", int(item,0) )
buff+=packed
frames.append(buff)
Это работаетхорошо, но мне было интересно, если не было более умного и более компактного метода? Если кто-то хочет разобраться в этом ....