Две вещи ...
Вы на самом деле не "просто копируете" ваш файл. Вы открываете его в процессоре изображений, расширяете его до обрабатываемой матрицы пикселей и затем сохраняете изображение на диск - минус все, что не интересовало ваш процессор изображений : -)
Если вы хотите скопировать весь файл, включая данные EXIF, используйте shutil
, например:
#!/usr/local/bin/python3
from shutil import copyfile
copyfile('source.jpg', 'destination.jpg')
Регистрация Поиск :
Во-вторых, все "на диске" файловые системы имеют минимальную единицу выделения, что означает, что если ваш файл увеличивается, он будет увеличиваться на целую единицу, даже если вам просто потребуется еще 1 байт пространства. Большинство дисков используют единицу выделения 4096 байт, поэтому 33-байтовый файл будет занимать 4096 байт. Должен сказать, что у вас уровень слабости выше 4 Кб, так что, может быть, вы используете толстый RAID, который работает в больших блоках для увеличения производительности?
Например, вы можете сделать это в Терминале:
# Write a file with 1 logical byte
echo -n "1" > file
# Look at file on disk
ls -ls file
8 -rw-r--r-- 1 mark staff 1 15 Nov 08:10 file
Посмотрите внимательно, 1
после staff
означает, что логический размер составляет 1 байт, и это то, что получают программы, если они читают весь файл. Но первое 8
слева - это количество блоков на диске. Каждый блок занимает 512 байт, поэтому этот 1-байтовый файл занимает 8 блоков по 512 байт, то есть 4 КБ на диске!