Как восстановить даты создания фотографий из файлов JSON после Google Takeout в Windows? [закрыто]Python

Программы на Python
Anonymous
Как восстановить даты создания фотографий из файлов JSON после Google Takeout в Windows? [закрыто]

Сообщение Anonymous »

При загрузке архива фотографий с помощью Google Takeout я заметил, что для всех файлов изображений (.jpg, .png и т. д.) даты создания и изменения установлены на тот день, когда я загрузил архив, а не на дату фактической съемки фотографий.
Похоже, что Google удаляет исходные метаданные и вместо этого предоставляет их в отдельном дополнительном файле JSON для каждого изображения. Например, рядом с IMG_1234.JPG есть соответствующий файл IMG_1234.JPG.json.
Внутри файла JSON исходная временная метка хранится в photoTakenTime следующим образом:

Код: Выделить всё

{
"title": "IMG_1234.JPG",
"description": "",
"imageViews": "0",
"creationTime": {
"timestamp": "1620042451",
"formatted": "May 3, 2021, 11:47:31 AM UTC"
},
"photoTakenTime": {
"timestamp": "1619965251",
"formatted": "May 2, 2021, 2:20:51 PM UTC"
}
}
Поскольку сделать это вручную для тысяч фотографий невозможно, как я могу программно (предпочтительно использовать Python в Windows):
  • Считать временную метку из поля photoTakenTime в файле JSON.
  • Применить эту исходную дату обратно к созданию и изменению соответствующего файла изображения на уровне ОС временные метки, чтобы проводник Windows правильно сортировал их по дате?
  • (Бонус) Есть ли способ одновременно вставить эту дату обратно во внутренние данные Exif JPEG?
Иногда имена файлов слегка усекаются, поэтому прямое сопоставление имен файлов 1:1 не всегда работает идеально. Есть какие-нибудь предложения о том, как эффективно это автоматизировать?

Вернуться в «Python»