在Python中,获取图片路径并根据当前时间戳重命名图片通常涉及以下几个步骤:
- 确定图片的原始路径:首先,你需要知道图片的当前位置。
- 获取当前时间戳:然后,使用Python的
datetime
模块来获取当前时间的时间戳。 - 构建新的文件名:根据时间戳和其他可能的信息(如文件扩展名)来构建新的文件名。
- 重命名文件:最后,使用Python的
os
模块或shutil
模块来重命名文件。
下面是一个简单的示例,展示了如何实现上述步骤:
import os
import datetimedef rename_image_with_timestamp(image_path):# 确保提供的路径是文件if not os.path.isfile(image_path):print(f"The path {image_path} is not a file.")return# 获取文件的目录和文件名(包括扩展名)directory, filename = os.path.split(image_path)# 分离文件名和扩展名filename_without_ext, ext = os.path.splitext(filename)# 获取当前时间的时间戳(转换为字符串)timestamp = datetime.datetime.now().strftime("%Y%m%d%H%M%S")# 构建新的文件名new_filename = f"{timestamp}{ext}"# 构建新的完整路径new_path = os.path.join(directory, new_filename)# 重命名文件os.rename(image_path, new_path)print(f"Renamed {image_path} to {new_path}")# 示例用法
image_path = 'path/to/your/image.jpg' # 替换为你的图片路径
rename_image_with_timestamp(image_path)
在这个示例中,rename_image_with_timestamp
函数接受一个图片路径作为参数,并使用当前时间的时间戳来重命名该文件。时间戳的格式是"YYYYMMDDHHMMSS"
,这样可以保证文件名的唯一性(在大多数情况下)。然后,该函数使用os.rename
函数来重命名文件。
请确保替换image_path
变量的值为你想要重命名的图片的实际路径。此外,该脚本假定你具有对指定目录的写权限。
完整代码:
批量将一个文件夹下面的文件重命名。
import glob
import os
import datetimedef rename_image_with_timestamp(image_path,i):# 确保提供的路径是文件if not os.path.isfile(image_path):print(f"The path {image_path} is not a file.")return# 获取文件的目录和文件名(包括扩展名)directory, filename = os.path.split(image_path)# 分离文件名和扩展名filename_without_ext, ext = os.path.splitext(filename)# 获取当前时间的时间戳(转换为字符串)timestamp = int(datetime.datetime.now().strftime("%Y%m%d%H%M%S"))+i# 构建新的文件名new_filename = f"{timestamp}{ext}"# 构建新的完整路径new_path = os.path.join(directory, new_filename)# 重命名文件os.rename(image_path, new_path)print(f"Renamed {image_path} to {new_path}")if __name__ == '__main__':img_list=glob.glob('data/label/*.jpg')for img_path in range(len(img_list)):rename_image_with_timestamp(img_list[img_path],img_path)