Форум сайта python.su
0
Подскажите, собираю словарь (dict) конечный размер, через __sizeof__ показывает 500 байт, применяю компрессию через zlib.compress, пакет увеличивается аж в два раза, итого уже выходит 1 килобайт, вместо не сжатых 500 байт.
Какие еще существуют варианты реализовать сжатие пакета?
Офлайн
568
Нахрена сжимать 500 байт?
Офлайн
0
FishHook
Нахрена сжимать 500 байт?
Офлайн
568
Это не сжатие, алёша, это шифрование!
Офлайн
253
FishHookНу FishHook ты даешь!!! Расшифровал что его зовут Алеша.
Это не сжатие, алёша, это шифрование!
Офлайн
221
__sizeof__ метод для стандартных типов возвращает объем памяти в байтах которое занимает python объект в памяти компьютера, это вовсе не означает что это его реальный объем. Что бы понять сколкьо занимает места ваш словарь ровно как передать его через внешние интерфейсы, Вам нужно сериализовать его в строковое представление.
d = {'key': 'one', 'value':1500, 'pos': [1,3,2,4]} d.__sizeof__() 124 import cPickle len(cPickle.dumps(d)) 78
Офлайн