Если вы откроете файл thumb
, вы увидите, что в нем есть одна полная копия и частичная копия данных, которые вы записываете.
сбросьте файл вместо записи во второй раз,
temp.flush()
Файл не записывался в первый раз, потому что содержимое недостаточно велико для заполнения буфера.Вторая запись переполняет буфер, и таким образом записывается ценность данных буфера.
Как указывает Кэмерон в своем ответе, буфер автоматически очищается при закрытии файла.Если по какой-то причине вы хотите оставить его открытым (и тот факт, что это проблема для вас, похоже, указывает на то, что вы это делаете), вы можете позвонить по номеру flush
, и данные будут сразу же записаны.