python(10):批量修改文件名

1. 使用Python的字符串操作来去除文件名高位的多余零

说明

一个目录下的文件名是6位数字序号加上后缀的格式,例如 000001.txt000002.jpg000003.csv,你可以使用Python的字符串操作来去除高位的多余零。

代码

下面是一个示例代码:

import os

directory = '/path/to/directory'  # 替换为你的目录路径

# 获取目录下所有文件名
filenames = os.listdir(directory)

# 遍历文件名并去除高位多余的零
for filename in filenames:
    basename, extension = os.path.splitext(filename)
    new_filename = basename.lstrip('0') + extension
    old_path = os.path.join(directory, filename)
    new_path = os.path.join(directory, new_filename)
    os.rename(old_path, new_path)

在上述代码中,我们首先使用 os.listdir 函数获取目录下的所有文件名。然后,对每个文件名进行处理。通过 os.path.splitext 函数,我们将文件名拆分为基本名称和扩展名。接下来,使用 lstrip 函数去除基本名称前面的多余零,并将其与扩展名重新组合成新的文件名。最后,使用 os.rename 函数将原始文件名修改为新的文件名。

注意:在使用代码之前,请确保备份目录中的文件,以免意外修改导致数据丢失。

示例

操作前
在这里插入图片描述

操作后
在这里插入图片描述

2. 将文件夹中的文件重命名为递增的数字加上原始文件名的后缀

使用Python中的os模块来遍历文件夹中的文件,并使用os.rename函数来进行文件重命名。下面是一个示例代码,展示了如何将文件夹中的文件重命名为递增的数字加上原始文件名的后缀:

代码

import os

folder_path = 'path/to/folder'  # 文件夹路径

file_list = os.listdir(folder_path)  # 获取文件夹中的文件列表
file_list.sort()  # 按照文件名排序

for i, file_name in enumerate(file_list, start=1):
    file_extension = os.path.splitext(file_name)[1]  # 获取文件名后缀
    new_file_name = f"{
      
      i}{
      
      file_extension}"  # 新的文件名
    
    old_file_path = os.path.join(folder_path, file_name)  # 原始文件路径
    new_file_path = os.path.join(folder_path, new_file_name)  # 新的文件路径
    
    os.rename(old_file_path, new_file_path)  # 执行文件重命名操作

在上述代码中,需要将 'path/to/folder' 替换为要进行重命名的文件夹的实际路径。代码首先使用 os.listdir 函数获取文件夹中的文件列表,并使用 sort 方法对文件列表按文件名进行排序。然后,通过遍历文件列表,并使用 enumerate 函数以及 start=1 参数设置起始编号为1,依次获取文件名和索引值。使用 os.path.splitext 函数获取文件名的后缀,并将编号和后缀拼接成新的文件名。最后,使用 os.rename 函数将原始文件重命名为新的文件名。

请确保在运行代码之前,提前备份好文件夹中的文件,以防止意外的数据丢失。

运行前后:

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/BIT_HXZ/article/details/131239207