python:通过网络发送列表/字典

fac*_*cha 4 python serialization

我正在寻找一种简单的方法来打包/解包数据结构,以便通过网络发送:

在发送前的客户端上:

a = ((1,2),(11,22,),(111,222))
message = pack(a)
Run Code Online (Sandbox Code Playgroud)

然后在服务器上:

a = unpack(message)
Run Code Online (Sandbox Code Playgroud)

有没有可以打包/解压缩魔法的库?提前致谢

Tho*_*mas 12

看起来JSON可能符合要求.它很简单,它在Python标准库中.

但是对于元组可能不太高兴:

>>> 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]]
Run Code Online (Sandbox Code Playgroud)

这是一个问题是由你来决定的.

  • +1:JSON甚至YAML绝对是一种可行的方式.YAML将保持元组元组而不将其序列化为列表,但它不是标准包.对于应该是人类可读的东西(比如配置文件),我肯定会选择YAML. (3认同)