用python实现文件批量重新命名且复制和移动


前言

**

现在有个需求,把一个文件夹的下相同后缀名(.txt .jpg .AWS)的文件,批量修改文件名并且复制或者移动到想要的文件。

**

常见的就是相机照片自动有JPG和AWS两种格式,当我们想要挑选出其中的一种时候,可以使用此程序批量为您挑选出JPG格式的照片

提示:以下是本篇文章正文内容,下面案例可供参考

一、话不多说 上代码示例

代码如下(示例):

import os
import shutil

def change_file_extensions(Original_directory, Working_directory, old_extension, new_extension):
    """
    批量更改指定目录下所有文件的扩展名。

    :param directory: 包含文件的目录路径
    :param old_extension: 要更改的旧扩展名(包含点,如'.txt':param new_extension: 新的扩展名(包含点,如'.md'"""
    # 遍历目录中的所有文件和文件夹
    for filename in os.listdir(Original_directory):
        # 检查文件名是否以指定的旧扩展名结尾
        i = 0
        if filename.endswith(old_extension):
            # 构建原文件的完整路径
            old_name = os.path.join(Original_directory, filename)
            # 去除旧扩展名,添加新扩展名,构建新文件名
            # 注意:使用os.path.splitext()来安全地分割文件名和扩展名
            root, ext = os.path.splitext(filename)
            if ext.lower() == old_extension.lower():  # 确保扩展名匹配(忽略大小写)
                # 拼接一个新的文件入径
                new_name = os.path.join(Working_directory, root + new_extension)
                # 将文件复制到想要的入径保存,copy2就是将文件的创建时间等信息也完整复制过去,
                # 此处可以改为move函数,意味直接移动。
                shutil.copy(old_name, new_name)
                i += 1
                print(f'{i} Renamed "{old_name}" to "{new_name}"')
            # 使用示例


Original_directory = 'E:\\100MSDCF'  # 原文件目录,即要转换的文件目录
Working_directory = 'D:\\photo_process'
old_extension = '.ARW'  # 旧文件扩展名
new_extension = '.jpg'  # 新文件扩展名
change_file_extensions(Original_directory, Working_directory, old_extension, new_extension)

再讲两句

1.此程序如果你新旧扩展名一样,那么相当于把文件复制过去想要的地方。适用于照相机
2.copy函数改为copy2s时它会全盘复制信息,包括原文件的创建信息
3.如果文件路径有问题建议像我代码示例一样,用双斜杆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值