我来详细讲解一下“Python利用文件时间批量重命名照片和视频”的完整攻略。
1. 获取文件的创建时间
首先,我们需要获取每个文件的创建时间,可以使用Python自带的os库中的stat()函数来实现,代码如下:
import os
def get_create_time(file_path):
# 获取文件创建时间
create_time = os.stat(file_path).st_ctime
# 返回创建时间
return create_time
2. 将时间转换为字符串格式
得到创建时间以后,我们需要将其转换为我们需要的字符串格式,以便重命名文件,这里我们将其转换为“年月日-时分秒”的格式,代码如下:
import time
def format_time(create_time):
# 将时间戳转换为结构化时间
time_struct = time.localtime(create_time)
# 将结构化时间转换为字符串格式
str_time = time.strftime("%Y%m%d-%H%M%S", time_struct)
# 返回字符串格式的时间
return str_time
3. 批量重命名文件
有了文件的创建时间和字符串格式的时间,我们就可以通过字符串的拼接来批量重命名文件了,代码如下:
def rename_files(path):
# 遍历目录下所有文件
for file_name in os.listdir(path):
# 如果是图片或视频文件
if file_name.endswith(".jpg") or file_name.endswith(".jpeg") or file_name.endswith(".png") or file_name.endswith(".gif") or file_name.endswith(".mp4") or file_name.endswith(".avi") or file_name.endswith(".mov"):
# 获取文件完整路径
file_path = os.path.join(path, file_name)
# 获取文件创建时间
create_time = get_create_time(file_path)
# 将创建时间转换为字符串格式
str_time = format_time(create_time)
# 获取文件后缀名
file_suffix = os.path.splitext(file_name)[1]
# 拼接新的文件名
new_name = str_time + file_suffix
# 重命名文件
os.rename(file_path, os.path.join(path, new_name))
示例说明
示例1
假设有一组照片,它们的文件名分别为IMG001.jpg、IMG002.jpg、IMG003.jpg,它们的创建时间分别为2022年1月1日、2022年1月2日、2022年1月3日,我们可以将它们重命名为20220101-000000.jpg、20220102-000000.jpg、20220103-000000.jpg,代码实现如下:
rename_files("path/to/photos/folder/")
示例2
假设有一组视频文件,它们的文件名分别为movie001.mp4、movie002.mp4、movie003.mp4,它们的创建时间分别为2022年1月4日、2022年1月5日、2022年1月6日,我们可以将它们重命名为20220104-000000.mp4、20220105-000000.mp4、20220106-000000.mp4,代码实现如下:
rename_files("path/to/videos/folder/")
总的来说,利用Python批量重命名照片和视频文件是一件非常方便的事情,只需要获取文件的创建时间,将时间转换为字符串格式,然后通过字符串拼接来重命名文件即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python利用文件时间批量重命名照片和视频 - Python技术站