recipe-550811.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:code 作者: ActiveState 项目源码 文件源码
def redate_by_exif(fn):
    """reads EXIF from jpg/jpeg and if file datetime differs from EXIF changes file date"""
    global ALL_CNT, CHANGED_CNT
    ALL_CNT += 1
    exif_time = None
    s = os.stat(fn)
    file_time = s[8]
    if DEBUG:
        print(fn)
    try:
        exif_time = get_exif_date_pil(fn)
    except:
        s1 = traceback.format_exc()
        try:
            exif_time = get_exif_date_exif(fn)
        except:
            s2 = traceback.format_exc()
            print('Something is terribly wrong! Both PIL and exifread raises exception')
            print('-' * 20)
            print(s1)
            print('-' * 20)
            print(s2)
            print('-' * 20)
            print('-' * 20)
    if exif_time:
        dir_n = time.strftime("%Y/%Y_%m_%d", time.gmtime(exif_time))
        try:
            os.makedirs(dir_n)
        except:
            pass
        secs_diff = file_time - exif_time
        print("%s    %s -> %s (%s)" % (fn, show_fdt(file_time), show_fdt(exif_time), dir_n))
        if secs_diff > MAX_DIFF or secs_diff < -MAX_DIFF:
            os.utime(fn, (exif_time, exif_time))
            CHANGED_CNT += 1
        shutil.move(fn, dir_n)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号