今天要给大家讲一个心酸而励志的小故事——关于我和我的图片文件夹的“爱恨情仇”。
事情是这样的,最近,我在整理硬盘的时候,发现有个文件夹里堆满了上百张照片和图片,什么格式都有:jpg, png, gif…… 看起来杂乱无章。这都不是重点,重点是文件名乱得一塌糊涂!
“IMG_20210815.jpg、screenshot_1.png、DSC_2034.JPG、未命名文件.jpg”……说实话,当我看到这个文件夹的时候,脑袋都快炸了!谁能接受这些文件名啊?每次打开都得翻老半天。整理这些文件,简直成了我生活中的噩梦。
于是,痛定思痛,我决定自己动手写个脚本来解决这个问题——把这些乱七八糟的文件按日期排序,并加上一个编号,让它们看起来整齐又有序!
什么情况适合用这个工具?
接下来就是我写的这个 Python 小工具!只需要几行代码就能拯救你的文件夹。无论你是整理工作文档还是珍藏的高清美图,一键重命名,一切搞定!
import os
from datetime import datetime
def rename_files_by_date(folder_path):
# 获取文件夹中所有文件的完整路径
files = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f))]
# 按文件的修改时间进行排序
files.sort(key=lambda f: os.path.getmtime(f))
# 确定序号格式,根据文件数量决定序号宽度
total_files = len(files)
num_digits = len(str(total_files)) # 确定序号的位数
for i, file_path in enumerate(files, 1):
folder, original_filename = os.path.split(file_path)
_, ext = os.path.splitext(original_filename) # 获取文件扩展名
new_filename = f"{str(i).zfill(num_digits)} {original_filename}" # 生成新文件名
new_file_path = os.path.join(folder, new_filename)
# 重命名文件
os.rename(file_path, new_file_path)
print(f"Renamed: {original_filename} -> {new_filename}")
# 使用该函数,修改这个路径
folder_path = R'd:\images'
rename_files_by_date(folder_path)
使用方法:
[ol]
[/ol]
效果展示:
原始文件夹:
IMG_1234.jpg
Screenshot_2023.png
Doc_0001.docx
...
执行脚本后:
01 IMG_1234.jpg
02 Screenshot_2023.png
03 Doc_0001.docx
...
是不是很整齐?从此告别文件名乱飞的日子!
希望这个小工具能对大家有帮助!有任何问题欢迎留言讨论~