2008-12-12 6 views
1

Je cherche un moyen de sérialiser générique objets Python entre un serveur basé sur CherryPy et un client Python fonctionnant sur un téléphone Symbian .. Puisque pyS60 ne met pas en œuvre le module pickle, comment le feriez-vous?Sérialisation d'un objet Python vers/depuis un téléphone S60

Je sais à propos de Cerealizer mais cela nécessite que vous inscriviez des classes avant l'utilisation (que je voudrais éviter) et ne semble pas très mature .. Alors, que voulez-vous utiliser? Le module pickle de Python 2.2 peut-être, extrait des sources? XML, JSON? Laquelle des nombreuses bibliothèques? :)

Répondre

2

Quel est le problème avec l'utilisation du module de décapage?

+0

cornichon 2.2, vous voulez dire? Rien, je suppose .. Juste pour demander un avis :) – Joril

1

Il existe un module json que quelqu'un a écrit pour PyS60. Je saisirais simplement cela, sérialiserais les choses dans json et l'utiliserais comme méthode de transfert entre l'application web/client.

Pour le JSON lib et un livre décent sur PyS60: http://www.mobilepythonbook.org/

+0

J'ai ce livre ici, mais complètement raté la partie JSON X-) Merci! – Joril

1

Les dernières versions de Python (> 1.9) ont le cornichon du module et cPickle sont disponibles

Une autre alternative à la sérialisation JSON est d'utiliser le format netstring (look sur wikipedia) pour sérialiser. C'est en fait plus efficace que JSON pour les objets binaires.

Vous pouvez trouver un bon module netstring ici http://github.com/tuulos/aino/blob/d78c92985ff1d701ddf99c3445b97f452d4f7fe2/wp/node/netstring.py (ou Aino/wp/node/netstring.py)

+0

On dirait que filets est conçu uniquement pour les chaînes, pas pour les objets génériques .. Merci pour votre conseil cependant :) – Joril

+0

vous avez raison. C'est très pratique pour les objets dict dont les valeurs sont toutes des chaînes – Agathe

Questions connexes