我正在寻找一种简单的方法来打包/解包数据结构,以便通过网络发送:
在发送之前的客户端上:
a = ((1,2),(11,22,),(111,222))
message = pack(a)然后在服务器上:
a = unpack(message)有没有可以进行打包/解包魔法的库?提前感谢
发布于 2010-04-02 01:40:18
看起来JSON可能符合要求。这很简单,而且是it's in the Python standard library。
不过,它可能对元组不太满意:
>>> import json
>>> a = ((1,2),(11,22,),(111,222))
>>> print a
((1, 2), (11, 22), (111, 222))
>>> message = json.dumps(a)
>>> message
'[[1, 2], [11, 22], [111, 222]]'
>>> b = json.loads(message)
>>> b
[[1, 2], [11, 22], [111, 222]]这是否是一个问题,由您来决定。
发布于 2010-04-02 01:42:24
参见pickle - Python对象序列化:
Python模块实现了一个基本但功能强大的算法,用于序列化和反序列化
对象结构。“酸洗”是将Python对象层次结构转换为字节流的过程,而“取消酸选”是相反的操作,即将字节流转换回对象层次结构。酸洗(和取消酸洗)也称为“序列化”、“编组”或“扁平化”,但是,为了避免混淆,这里使用的术语是“酸洗”和“取消酸洗”。
发布于 2010-05-14 16:05:09
ast.literal_eval()保留了元组:
>>> a = ((1,2),(11,22,),(111,222))
>>> s = repr(a)
>>> import ast
>>> ast.literal_eval(s)
((1, 2), (11, 22), (111, 222))https://stackoverflow.com/questions/2562359
复制相似问题