求一个python脚本,根据文件名字中的时间修改照片和视频的拍摄时间,创建时间,修改时间。文件名不是固定格式,文件可能有重复的,但是文件名中一定有时间。
7条回答 默认 最新
- Crayon112 2022-11-22 22:26关注
import re import time from win32file import ( CreateFile, SetFileTime, CloseHandle, GENERIC_READ, GENERIC_WRITE, OPEN_EXISTING, ) from pywintypes import Time def parse_time(name: str): year, month, day = '1990', '01', '01' year_p = re.search(r"2\d{3}", name) if year_p is None: return year, month, day year = year_p.group() _, y_e = year_p.span() name = name[y_e:] month_p = re.search(r"[01][0-9]?", name) if month_p is None: return year, month, day month = month_p.group() _, m_e = month_p.span() name = name[m_e:] day_p = re.search(r"[0123][0-9]?", name) if day_p is None: return year, month, day day = day_p.group() return year, month, day def modify_file_time(file_path): year, month, day = parse_time(file_path) modify2time = time.strptime( year + '-' + month + '-' + day, "%Y-%m-%d", ) try: fh = CreateFile( file_path, GENERIC_READ | GENERIC_WRITE, 0, None, OPEN_EXISTING, 0, 0, ) modify_time = Time(modify2time) SetFileTime(fh, modify_time, modify_time, modify_time) CloseHandle(fh) return True except Exception as e: print(e) return False if __name__ == "__main__": file_name = r"test2022-05-14.txt" #文件路径 r = modify_file_time(file_name) print(r)
需要额外安装 pywin32 库,安装指令 pip install pywin32
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥20 西南科技大学数字信号处理
- ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
- ¥30 STM32 INMP441无法读取数据
- ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
- ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
- ¥15 用visualstudio2022创建vue项目后无法启动
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗
- ¥15 pyqt信号槽连接写法
- ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。