更新
This commit is contained in:
parent
ace8089776
commit
c37f01f39b
@ -3,10 +3,11 @@
|
||||
# @date 2023/10/23
|
||||
# @file renamePhotoBatch.py
|
||||
import os
|
||||
import glob
|
||||
import exifread
|
||||
import os.path
|
||||
import time
|
||||
|
||||
import os.path, time
|
||||
import exifread
|
||||
from moviepy.editor import VideoFileClip
|
||||
|
||||
|
||||
# 获取照片的拍摄时间
|
||||
@ -21,14 +22,31 @@ def get_photo_taken_time(image_path):
|
||||
|
||||
def get_photo_update_time(image_path):
|
||||
with open(image_path, 'rb') as f:
|
||||
return time.ctime(os.stat(image_path).st_mtime)
|
||||
timestamp = time.strptime(time.ctime(os.stat(image_path).st_mtime),'%a %b %d %H:%M:%S %Y')
|
||||
return f"{timestamp.tm_year}{timestamp.tm_mon}{timestamp.tm_mday}_{timestamp.tm_hour}{timestamp.tm_min}{timestamp.tm_sec}"
|
||||
|
||||
def get_video_creation_time(video_path):
|
||||
try:
|
||||
# 使用 moviepy 读取视频文件
|
||||
clip = VideoFileClip(video_path)
|
||||
|
||||
# 获取视频文件的元数据
|
||||
metadata = clip.reader.infos
|
||||
|
||||
# 获取创建时间
|
||||
creation_time = metadata.get('creation_time', 'Unknown')
|
||||
|
||||
return creation_time
|
||||
except Exception as e:
|
||||
print(f"Error: {e}")
|
||||
return None
|
||||
|
||||
def solution():
|
||||
# 获取当前时间并格式化为年月日时分秒毫秒
|
||||
|
||||
# 设置照片所在的文件夹路径
|
||||
# folder_path = "C:\\Users\\hyy\\Pictures\\图片"
|
||||
folder_path = "C:\\Users\\hyy\\Pictures\\轩辕龙儿的文件收集20240803"
|
||||
folder_path = "C:\\Users\\hyy\\Pictures\\图片"
|
||||
# folder_path = "C:\\Users\\hyy\\Pictures\\轩辕龙儿的文件收集20240803"
|
||||
|
||||
# 获取文件夹中的所有照片文件
|
||||
# photo_files = glob.glob(os.path.join(folder_path, "*"))
|
||||
@ -37,16 +55,23 @@ def solution():
|
||||
# 遍历照片文件并重命名
|
||||
for photo in photo_files:
|
||||
name = photo
|
||||
if name.endswith('.jpeg'):
|
||||
continue
|
||||
photo = folder_path+"\\"+photo
|
||||
creation_time_stamp = get_photo_taken_time(photo)
|
||||
if name.endswith('.MOV'):
|
||||
creation_time_stamp = get_photo_update_time(photo)
|
||||
formatted_time = "VIDEO_" + creation_time_stamp
|
||||
else:
|
||||
creation_time_stamp = get_photo_taken_time(photo)
|
||||
formatted_time = "IMG_" + creation_time_stamp.values.replace(':', '').replace(' ', '_')
|
||||
if creation_time_stamp is None:
|
||||
continue
|
||||
if name.startswith('IMG'):
|
||||
file_name, file_ext = os.path.splitext(photo)
|
||||
file_name = file_name[:-2]
|
||||
os.rename(photo, f"{file_name}.jpeg")
|
||||
continue
|
||||
formatted_time = "IMG_" + creation_time_stamp.values.replace(':', '').replace(' ', '_')
|
||||
# if name.startswith('IMG'):
|
||||
# file_name, file_ext = os.path.splitext(photo)
|
||||
# if file_name.find('-'):
|
||||
# file_name = file_name[:-2]
|
||||
# os.rename(photo, f"{file_name}{file_ext}")
|
||||
# continue
|
||||
file_name, file_ext = os.path.splitext(photo)
|
||||
if file_name.startswith('.'):
|
||||
file_name, file_ext = os.path.splitext(file_name)
|
||||
|
Loading…
Reference in New Issue
Block a user