obtenir la taille du peuplée dictionnaire
Je voudrais obtenir la taille d'une peuplé dictionnaire en python. J'ai essayé ceci:
>>> dict = {'1':1}
>>> import sys
>>> print dict
{'1': 1}
>>> sys.getsizeof(dict)
140
mais apparemment ce ne serait pas le faire. La valeur de retour je m'attends à 2 (en Octets). Je vais avoir un dictionnaire avec des matières comme:
{'L\xa3\x93': '\x15\x015\x02\x00\x00\x00\x01\x02\x02\x04\x1f\x01=\x00\x9d\x00^\x00e\x04\x00\x0b', '\\\xe7\xe6': '\x15\x01=\x02\x00\x00\x00\x01\x02\x02\x04\x1f\x01B\x00\xa1\x00_\x00c\x04\x02\x17', '\\\xe8"': '\x15\xff\x1d\x02\x00\x00\x00\x01\x02\x02\x04\x1f\x01:\x00\x98\x00Z\x00_\x04\x02\x0b', '\\\xe6@': '\x15\x014\x02\x00\x00\x00\x01\x02\x02\x04\x1f\x01@\x00\x9c\x00\\\x00b\x04\x00\x0b'}
et je veux savoir combien d'Octets de données dont j'ai besoin pour envoyer. mon indice est de 6 Octets, mais combien de temps est le contenu? Je sais qu'ici, c'est 46Bytes par l'index, donc je voudrais savoir que j'ai besoin de transmettre 4*(6+46) Octets.... Comment puis-je faire cela au mieux?
Grâce,
Ron
Pourquoi pensez-vous que la taille de 2 octets? Si vos données est un bytestring comme dans ton deuxième exemple, vous pouvez utiliser
Avez-vous besoin d'envoyer cela sur un réseau ou quelque chose? La taille dépendra de la façon dont vous le sérialiser.
Comment en êtes-vous de 46 octets 6 octets? C'est deux fois ce que j'obtiens:
oui, j'ai cette après hexlifying les valeurs - c'est la façon dont je vais avoir besoin de les transférer, hexlified...
len(dict[key])
pour obtenir sa longueur en octets, mais la longueur, en octets, d'une valeur particulière dans le dict n'est pas la même que la taille de la dict lui-même.Avez-vous besoin d'envoyer cela sur un réseau ou quelque chose? La taille dépendra de la façon dont vous le sérialiser.
Comment en êtes-vous de 46 octets 6 octets? C'est deux fois ce que j'obtiens:
>>> print([len(x) for x in d.values()]) #[23, 23, 23, 23]
et print([len(x) for x in d.keys()]) #[3, 3, 3, 3]
oui, j'ai cette après hexlifying les valeurs - c'est la façon dont je vais avoir besoin de les transférer, hexlified...
OriginalL'auteur cerr | 2012-11-09
Vous devez vous connecter pour publier un commentaire.
Alors, seulement cela me donner la longueur réelle quand j'ai besoin de transmettre le contenu de l'Octet par Octet?
OriginalL'auteur cerr