【问题标题】:Serializing a Python object to/from a S60 phone将 Python 对象序列化到 S60 手机/从 S60 手机序列化一个 Python 对象
【发布时间】:2008-12-12 11:11:00
【问题描述】:

我正在寻找一种在基于 CherryPy 的服务器和运行在 Symbian 手机上的 Python 客户端之间序列化 通用 Python 对象的方法。由于 pyS60 没有实现 pickle 模块,如何你会做吗?

我知道Cerealizer,但它要求您在使用前注册类(我想避免)并且看起来不太成熟。那么,您会使用什么? Python 2.2 的 pickle 模块可能是从源代码中提取的? XML、JSON?几个库中的哪一个? :)

【问题讨论】:

    标签: python serialization pickle pys60


    【解决方案1】:

    使用pickle模块有什么问题?

    【讨论】:

    • pickle 2.2,你的意思是?没什么,我猜..只是征求意见:)
    【解决方案2】:

    有人为 PyS60 编写了一个 json 模块。我只需抓住它,将内容序列化为 json 并将其用作 Web/客户端应用程序之间的传输方法。

    对于 json 库和一本不错的 PyS60 书籍: http://www.mobilepythonbook.org/

    【讨论】:

    • 我有那本书,但完全错过了 JSON 部分 X-) 谢谢!
    【解决方案3】:

    Python 的最新版本 (>1.9) 提供了模块 pickle 和 cPickle

    JSON 序列化的另一种替代方法是使用 netstring(查看维基百科)格式进行序列化。对于二进制对象,它实际上比 JSON 更有效。

    你可以在这里http://github.com/tuulos/aino/blob/d78c92985ff1d701ddf99c3445b97f452d4f7fe2/wp/node/netstring.py(或aino/wp/node/netstring.py)找到一个好的网络字符串模块

    【讨论】:

    • 看起来 netstring 只是为字符串设计的,而不是为通用对象设计的。不过谢谢你的提示 :)
    • 你是对的。对于值都是字符串的 dict 对象非常方便
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 2010-12-29
    • 2017-09-03
    相关资源
    最近更新 更多