文件夹中的照片重新排序命名

import os
 
class BatchRename():
    '''
    批量重命名文件夹中的图片文件
    '''
    def __init__(self):
        self.path = 'D:\\teat\\before'  #表示需要命名处理的文件夹
        self.save_path='D:\\teat\\after'#保存重命名后的图片路径
    def rename(self):
        filelist = os.listdir(self.path) #获取文件路径
        total_num = len(filelist) #获取文件长度(个数)
        i = 1  #表示文件的命名是从1开始的
        for item in filelist:
            print(item)
            if item.endswith('.png'):  #初始的图片的格式为.png格式的(可以根据需要调整为自己需要的格式)
                src = os.path.join(os.path.abspath(self.path), item)#当前文件中图片的地址
                dst = os.path.join(os.path.abspath(self.save_path), ''+str(i) + '.png')#处理后文件的地址和名称,可以自己按照自己的要求改进
                try:
                    os.rename(src, dst)
                    print ('converting %s to %s ...' % (src, dst))
                    i = i + 1
                except:
                    continue
        print ('total %d to rename & converted %d jpgs' % (total_num, i))
 
if __name__ == '__main__':
    demo = BatchRename()
    demo.rename()
### 批量命名图片的解决方案 为了实现对文件夹中的图片按顺序批量命名,可以采用 Python 脚本来完成这一任务。以下是基于引用内容和专业知识设计的一个完整的脚本方案。 #### 使用 Python 实现批量命名 以下是一个改进版的 Python 脚本,能够满足按照现有顺序对图片进行批量命名的需求: ```python import os def batch_rename_images(folder_path, prefix="CherrP_", start_index=0): """ 批量命名指定文件夹内的图片文件。 参数: folder_path (str): 图片所在的文件夹路径。 prefix (str): 新文件名前缀,默认为 "CherrP_"。 start_index (int): 文件编号起始值,默认从 0 开始。 """ # 获取文件夹下所有文件,并过滤出图片文件 image_extensions = ['.png', '.jpg', '.jpeg', '.bmp', '.gif'] files = [f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f)) and any(f.lower().endswith(ext) for ext in image_extensions)] # 按照原始名称排序(如果需要保持原顺序) files.sort() # 遍历文件列表并逐一重命名 for index, filename in enumerate(files, start=start_index): old_file_path = os.path.join(folder_path, filename) # 提取文件扩展名 extension = os.path.splitext(filename)[1] # 构造新的文件名 new_filename = f"{prefix}{index}{extension}" new_file_path = os.path.join(folder_path, new_filename) # 进行重命名操作 try: os.rename(old_file_path, new_file_path) print(f"Renamed '{filename}' to '{new_filename}'.") except Exception as e: print(f"Error renaming '{filename}': {e}") # 示例调用 folder_path = r"C:\path\to\your\image_folder" batch_rename_images(folder_path, prefix="Image_", start_index=1) ``` 上述代码实现了如下功能: - **筛选图片文件**:通过 `os.listdir` 和条件判断提取 `.png`, `.jpg`, `.jpeg`, `.bmp`, `.gif` 类型的文件[^2]。 - **保持原有顺序**:利用 `files.sort()` 方法确保文件按照字母序排列[^4]。 - **自定义前缀与索引起点**:允许用户设置新文件名的前缀以及编号起点[^1]。 #### 注意事项 - 如果目标文件夹中有非图片类型的文件,则这些文件会被忽略[^3]。 - 确保运行此脚本之前备份重要数据以防意外覆盖或删除。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值