Есть ли способ проверить, сколько памяти занимает изображение с питоном? - PullRequest
1 голос
/ 26 июня 2019
Подушка

предоставляет size для проверки разрешения изображения.

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

Есть ли способ проверить, сколько памяти занимает изображение?изображение использует 512 * 512 * 4 байта памяти?

Ответы [ 2 ]

2 голосов
/ 26 июня 2019
import os
print os.stat('somefile.ext').st_size

или

import os
os.path.getsize('path_to_file.jpg')`
1 голос
/ 26 июня 2019

Вы можете использовать библиотеку sys, чтобы получить размер объекта в байтах. Разница с ответом Кая состоит в том, что он вычисляет размер изображения на диске, в то время как вычисляет размер загруженного объекта питона (со всеми его метаданными):

import sys

sys.getsizeof(img)

РЕДАКТИРОВАТЬ: После просмотра этого веб-сайта , sys.getsizeof(), кажется, работает в основном для примитивных типов.

Вы можете взглянуть на более тщательную реализацию (deep_getsizeof()) здесь .

Эта запись также содержит много деталей.

И, наконец, есть также библиотека pympler, которая предоставляет инструменты для вычисления оперативной памяти, используемой объектом.

from pympler import asizeof

asizeof.asizeof(img)
...