3

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) バイトを送信する必要があることを知りたいのですが....どうすればこれを最適に行うことができますか?

ありがとう、ロン

4

1 に答える 1

2

それで、コンテンツをバイトごとに送信する必要がある場合、これだけで実際の長さを知ることができますか?

#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]))
于 2012-11-09T21:49:15.187 に答える