在Python中,获取图片路径并根据当前时间戳重命名图片通常涉及以下几个步骤:
- 确定图片的原始路径:首先,你需要知道图片的当前位置。
- 获取当前时间戳:然后,使用Python的
datetime
模块来获取当前时间的时间戳。 - 构建新的文件名:根据时间戳和其他可能的信息(如文件扩展名)来构建新的文件名。
- 重命名文件:最后,使用Python的
os
模块或shutil
模块来重命名文件。
下面是一个简单的示例,展示了如何实现上述步骤:
import os
import datetime
def 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 datetime
def 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)