0

我正在使用 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”之类的名称 - 我如何将它们连同它们的值一起从字符串中取出?

4

1 回答 1

1

正如小猫评论的那样,您需要在 mystruct 字符串中定义完整的结构,例如:

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

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

于 2012-08-22T17:43:21.750 回答