使用 win32com EXIF 数据重命名媒体文件

时间:2021-04-02 18:37:05

标签: python exif pywin32

  1. 首先我使用 pathlib 对当前文件夹中的每个文件进行迭代。

  2. 然后我检查文件后缀是否为大写字母我将其转换为 小。

  3. 第三次检查文件后缀是否为“.m4v”。

  4. 第四 如果文件后缀是 .m4v 我使用 win32com 来获取媒体 创建日期和时间

  5. 第五次我修改日期和时间以适应 Windows 命名系统。

  6. 最后我使用 os.rename 来重命名它的扩展名相等的任何文件 .m4v 与第五步中的 t 值。

一切正常,但重命名无效!

打印原始文件名有效。

使用 win32com 打印媒体创建日期工作正常。

在重命名行之前打印随机文本。

重命名行后打印随机文本不起作用

代码如下:


import os
import pathlib
from PIL import Image
from PIL.ExifTags import TAGS
# import datetime
from win32com.propsys import propsys, pscon
import time
from datetime import datetime


for p in pathlib.Path.cwd().iterdir():
    ext = p.suffix
    tl = ext.lower()
    
    if p.suffix == '.m4v':
        vid = p.stem + p.suffix
        
        properties = propsys.SHGetPropertyStoreFromParsingName(str(p))

        dt = properties.GetValue(pscon.PKEY_Media_DateEncoded).GetValue()
        
        t = datetime.strftime(dt, '%Y%m%d')
        
        print(dt)

        os.rename(vid , t + p.suffix)

        mov_name = p.stem

0 个答案:

没有答案