Python - 内存中的对象大小与磁盘上的对象大小

时间:2018-01-03 21:58:59

标签: python file memory pickle disk

以下是我的例子:

node_modules

此对象占用内存:

wwwroot/dist

类似8 KB

当我把它写到磁盘

import numpy as np
test = [np.random.choice(range(1, 1000), 1000000) for el in range(1,1000)]

print(sys.getsizeof(test)/1024/1024/1024) 8.404254913330078e-06 命令

需要大约8GB

有人可以澄清为什么它在内存中占用的空间如此之小以及在磁盘上占用了多少空间?我猜测记忆中的数字并不准确。

1 个答案:

答案 0 :(得分:2)

  

我猜测记忆中的数字并不准确。

嗯,这不能解释6个数量级的数量级,对吧? ;)

test是一个Python list实例。 getsizeof将告诉您“指针”的大小,系统上的64位以及其他一些属性。但是你需要做更多的事情来获得附加到这个实例的所有东西,检查每个元素(列表在Python中没有严格的类型,所以你不能简单地做size_of_element * len(list)等。)。 / p>

以下是一种资源:https://code.tutsplus.com/tutorials/understand-how-much-memory-your-python-objects-use--cms-25609

这是另一个:How do I determine the size of an object in Python?