有没有一种方法可以检查图像占用python多少内存?

时间:2019-06-26 02:50:36

标签: python python-imaging-library

枕头提供size来检查图像的分辨率。

>> from PIL import Image
>> img = Image.open('Lenna.png')
>> img.size
(512, 512)

是否可以检查图像占用多少内存?图片使用的是512 * 512 * 4字节内存吗?

2 个答案:

答案 0 :(得分:2)

import os
print os.stat('somefile.ext').st_size

import os
os.path.getsize('path_to_file.jpg')`

答案 1 :(得分:1)

您可以使用sys库来获取对象的大小(以字节为单位)。 Kai与答案的区别在于,他正在计算磁盘上图像的大小,而这将计算已加载的python对象(及其所有元数据)的大小:

import sys

sys.getsizeof(img)

编辑:看到此website后,sys.getsizeof()似乎主要适用于原始类型。

您可以看看更全面的实现(deep_getsizeof() here

post还提供了许多详细信息。

最后,还有一个pympler库,提供用于计算对象使用的RAM内存的工具。

from pympler import asizeof

asizeof.asizeof(img)