获取混合python元组/结构的值

时间:2012-08-22 17:01:35

标签: python struct

我正在使用Python 2.7将保存的元组转换为列表/字典。

目前我的代码如下:

mystring = "\x80\x02]q\x01(J\x03\x00\x01\x00J\x15\xf93PK\x01K\x01G@\x834\x00\x00\x00\x00\x00K\x01K\x00e}q\x02(M\x03\xbb]q\x03(U\x0bmteststringq\x04Ml0U\x05_L-A_q\x05K\x00K\x02eJ\x06M\xd1\x1d]q\x06(U\x08otherstrq"
mystruct = str(len(mystring)) + 'B'
mydict = struct.unpack(mystruct, mystring)

实际上字符串更长,我缩短了。 这适用于整数值,但它也包含“mteststring”或“otherstr”之类的名称 - 如何将它们与字符串一起从字符串中取出?

1 个答案:

答案 0 :(得分:1)

正如xiaomao评论的那样,你需要在你的mystruct字符串中定义完整的结构,如下所示:

mystruct = "47B12s29B9s"
struct.unpack(mystruct, mystring)

让你更近一点,因为它正在提取两个字符串。当然,如果您正在编写此事务的两端,则可以使用许多其他编码方法,包括一些诸如JSONYAML这些将使数据更具可读性/可移植性。