python - 获取填充字典的大小

标签 python dictionary sizeof content-length

我想在 python 中获取填充字典的大小。我试过这个:

>>> dict = {'1':1}
>>> import sys
>>> print dict
{'1': 1}
>>> sys.getsizeof(dict)
140

但这显然行不通。我期望的返回值是 2(字节)。我会有一本字典,内容如下:

{'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'}

我想知道我需要发送多少字节的数据。我的索引是 6 字节,但内容有多长?我知道每个索引是 46 字节,所以我想知道我需要传输 4*(6+46) 字节....我该怎么做最好?

谢谢, 罗恩

最佳答案

那么,当我需要一个字节一个字节地传输内容时,只有这个才能给我真正的长度吗?

#non_mem_macs is my dictionary
for idx in non_mem_macs:
    non_mem_macs_len += len(hexlify(idx))
    non_mem_macs_len += len(hexlify(non_mem_macs[idx]))

关于python - 获取填充字典的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13316113/

相关文章:

python - 'setdefault' dict 方法的用例

c - 为什么 sizeof(char + char) 返回 4?

比较 NULL 宏的大小与 char 的大小

python - 过滤具有不同数据类型单元格的列

读取视频并转换为帧的Python函数

c# - MVC ViewModel 包含一个字典,用于将空值返回给 Controller 的字段

c++ - 为什么结构体的 sizeof 不等于每个成员的 sizeof 之和?

Python 字典键作为一组数字

python - 控制标签缩写 matplotlib

c# - 如何更改 Dictionary<string, bool> 中的所有值?