46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
#!/usr/bin/env python3
|
|
# @author 轩辕龙儿
|
|
# @date 2023/10/23
|
|
# @file renamePhotoBatch.py
|
|
import os
|
|
import glob
|
|
import exifread
|
|
|
|
|
|
# 获取照片的拍摄时间
|
|
def get_photo_taken_time(image_path):
|
|
with open(image_path, 'rb') as f:
|
|
tags = exifread.process_file(f)
|
|
if 'EXIF DateTimeOriginal' in tags:
|
|
taken_time = tags['EXIF DateTimeOriginal']
|
|
return taken_time
|
|
else:
|
|
return None
|
|
|
|
|
|
def solution():
|
|
# 获取当前时间并格式化为年月日时分秒毫秒
|
|
|
|
# 设置照片所在的文件夹路径
|
|
folder_path = "C:\\Users\\hyy\\Pictures\\图片"
|
|
|
|
# 获取文件夹中的所有照片文件
|
|
photo_files = glob.glob(os.path.join(folder_path, "*"))
|
|
|
|
# 遍历照片文件并重命名
|
|
for photo in photo_files:
|
|
creation_time_stamp = get_photo_taken_time(photo)
|
|
if creation_time_stamp is None:
|
|
continue
|
|
formatted_time = "IMG_" + creation_time_stamp.values.replace(':', '').replace(' ', '_')
|
|
file_name, file_ext = os.path.splitext(photo)
|
|
new_file_name = f"{formatted_time}{file_ext}"
|
|
new_file_path = os.path.join(folder_path, new_file_name)
|
|
os.rename(photo, new_file_path)
|
|
|
|
print("照片重命名完成!")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
solution()
|