J'ai fait ce qui suit.Sortie du paquet python au format chaîne
from struct import pack, unpack
t = 1234
tt = str(pack("<I", t))
L'impression tt donne \xf3\xe0\x01\x00
. Comment puis-je obtenir la valeur originale de t
de tt?
J'ai essayé d'utiliser le déballage repr(tt)
mais cela ne fonctionne pas. Comment vais-je faire cela?
Personne mentionné sérialisation. "Utile seulement pour le code python qui interagit avec le code C" ??? On utilise 'struct.pack' pour écrire des fichiers binaires dans un format particulier et' struct.unpack' pour les lire - quelle que soit la langue utilisée pour lire ces fichiers ou avoir été utilisée pour écrire ces fichiers à l'origine. Utiliser 'pickle' au lieu de' cPickle' et utiliser le protocole par défaut (text, ancient) est un non-sens. S'il vous plaît envisager de supprimer votre réponse. –
@John Machin: bien que personne n'ait mentionné la sérialisation, le titre de la publication implique une sérialisation, aussi j'ai posté cette réponse comme un indice qu'il existe une façon standard de python de sérialiser les données. En ce qui concerne pickle/cPickle: à partir de python 3, "les versions accélérées sont considérées comme des détails d'implémentation des versions Python pures Les utilisateurs doivent toujours importer la version standard" (à partir de [doc] (http://docs.python.org/ release/3.1.3/whatsnew/3.0.html)). en ce qui concerne le protocole par défaut: le protocole pickle version 3, qui est maintenant la valeur par défaut pour python 3 et plus, est en effet binaire. –
Les vrais programmeurs utilisent Python 1.5.2 –