python - 恢复whatsapp备份后修复Whatsapp Exif错误的创建日期

标签 python whatsapp exif

恢复我的 whatsapp 备份后,我遇到了问题,即图像创建日期设置为当前日期。这导致了android库的困惑。

最佳答案

这里基于文件名是一个解析器,用于设置图像和视频文件的创建日期。源代码是用python编写的。

第一部分的学分归功于 Joachim Holwech。谢谢。

from datetime import datetime
import piexif

import os
import time

folder = './'

def get_datetime(filename):
    date_str = filename.split('-')[1]
    return datetime.strptime(date_str, '%Y%m%d')

def get_date(filename):
    date_str = filename.split('-')[1]
    return datetime.strptime(date_str, '%Y%m%d').strftime("%Y:%m:%d %H:%M:%S")


allowedFileEndings = ['mp4','jpg','3gp','jpeg']

filenames = [fn for fn in os.listdir(folder) if fn.split('.')[-1] in allowedFileEndings]

l = len(filenames)
print(l)

for i, filename in enumerate(filenames):

    if filename.endswith('mp4') or filename.endswith('3gp'):
        date = get_datetime(filename)
        modTime = time.mktime(date.timetuple())
        os.utime(folder + filename, (modTime, modTime))

    elif filename.endswith('jpg') or filename.endswith('jpeg'):
        exif_dict = {'Exif': {piexif.ExifIFD.DateTimeOriginal: get_date(filename)}}
        exif_bytes = piexif.dump(exif_dict)
        piexif.insert(exif_bytes, folder + filename)

    print('{}: {}/{}'.format(filename, i + 1, l))
print('\nDone!')
``

Src.: https://holwech.github.io//blog/Fixing-WhatsApp-Backup/

关于python - 恢复whatsapp备份后修复Whatsapp Exif错误的创建日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57977927/

相关文章:

Python __init__ * 参数

python - 如何使用 PyMongo 在 MongoDB 中创建新数据库?

javascript - 无法链接。 React Native 中的 openURL Whatsapp 消息

c# - 从 JPG 读取 EXIF 数据

Python Selenium 套接字错误 - [Errno 61] 连接被拒绝

python - 创建一个 python 分布

android - 如何像 WhatsApp 和 Viber 一样将应用程序连接添加到现有联系人?

android - 无法识别 WhatsApp 联系人

php - IFD0 - exif_read_data 显示问号 "???"

php - Magento 在上传时删除所有 EXIF 数据