首先我使用 pathlib 对当前文件夹中的每个文件进行迭代。
然后我检查文件后缀是否为大写字母我将其转换为 小。
第三次检查文件后缀是否为“.m4v”。
第四 如果文件后缀是 .m4v 我使用 win32com 来获取媒体 创建日期和时间
第五次我修改日期和时间以适应 Windows 命名系统。
最后我使用 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