将FIX消息解包到Python字典中的最佳方式是什么?
问题描述:
字符串看起来是这样的:将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]
这工作,但它似乎真的丑。一定会有更好的办法。
答
你喜欢这样的:
>>> dict(p.split('=') for p in input.split('\001'))
{'key3': 'val3', 'key2': 'val2', 'key1': 'val1', 'key4': 'val4'}
答
或者是这样的:
import re
fixMsg = 'key1=val1\001key2=val2\001key3=val3\001key4=val4'
d = dict(re.findall("(.*?)=(.*?)\001", fixMsg+'\001'))
我做的。非常感谢。 – shaz 2013-03-16 22:53:22
不客气。 – piokuc 2013-03-16 22:54:00