对大量存放在不同文件夹下的文件(存在文件名相同的情况),现在要整理到一个文件夹内,并按顺序从0001开始进行重命名
整理前:
整理后:
代码如下:
import os
import shutil
old_path = "G:\\Program\\photo\\显微照片" # 图片所在的路径
new_path = "G:\\Program\\photo\\photos" # 新文件夹路径
counts = 1 # 计数器,新文件名,从0001号开始
for root, dirs, files in os.walk(old_path): # 遍历整个目录,提取其中的所有文件
for filename in files:
if filename.endswith('.jpg'): # 判断文件格式为jpg
new_name = filename.replace(filename, f'{counts}.jpg'.zfill(8)) # 文件重命名,左边自动补0
file_path = os.path.join(root, filename)
new_file_path = os.path.join(new_path, new_name)
shutil.copy(file_path, new_file_path)
counts += 1 # 计数器+1