如何将FIX消息解包为Python字典?
这个字符串看起来是这样的:
input = 'key1=val1\001key2=val2\001key3=val3\001key4=val4'
其中 \001 是分隔符
message = {}
呃……那接下来该怎么办呢?我知道我可以这样做:
my_list = imput.split('\001')
my_dict = {}
for pair in my_list:
tup = pair.split('=')
my_dict[tup[0]] = tup[1]
这样做是可以的,但感觉真的很难看。肯定有更好的方法。
2 个回答
0
或者类似这样的内容:
import re
fixMsg = 'key1=val1\001key2=val2\001key3=val3\001key4=val4'
d = dict(re.findall("(.*?)=(.*?)\001", fixMsg+'\001'))
4
你喜欢这样吗:
>>> dict(p.split('=') for p in input.split('\001'))
{'key3': 'val3', 'key2': 'val2', 'key1': 'val1', 'key4': 'val4'}