【发布时间】:2018-06-13 14:55:43
【问题描述】:
这是我的例子:
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
大约 8 KB
当我将它写入磁盘时
import pickle
file_path = './test.pickle'
with open(file_path, 'wb') as f:
pickle.dump(test, f)
ls -l 命令占用了将近 8GB 空间
有人能解释一下为什么它在内存中占用这么少空间而在磁盘上占用这么多空间吗?我猜记忆中的数字不准确。
【问题讨论】:
-
你觉得如何,10 亿个数字适合 8KB?
标签: python file memory pickle disk