Python批量修改文件名实例代码

因为某搬砖人要给老师把跑的实验结果名由1-5改成21-25,且要删除跑了一半的6,所以写以下代码进行批量修改,有需要的可以在此基础上进行补充完善。

如:HV_C1_d_01_1_0_AC_MaF1_M10_D19_1.mat—>HV_C1_d_01_1_0_AC_MaF1_M10_D19_21.mat

MaF1_M10_2_LLH_list.mat===>MaF1_M10_22_LLH_list.mat

import os


def Rename(path):
    # 获取该目录下所有文件,存入列表中
    fileList = os.listdir(path)

    for i in fileList:
        if i[:2] == 'HV':
            if i[-5] == '6':
                os.remove(path+i)
                continue
            # 设置旧文件名(就是路径+文件名)
            oldname = path + i   # os.sep添加系统分隔符

            # 设置新文件名
            newname = oldname[:-5]+'2'+oldname[-5:]

            os.rename(oldname, newname)  # 用os模块中的rename方法对文件改名
            print(oldname, '======>', newname)

        else:
            if i[9] == '6':
                os.remove(path+i)
                continue
            # 设置旧文件名(就是路径+文件名)
            oldname = path + i   # os.sep添加系统分隔符

            # 设置新文件名
            newname = path + i[:9]+'2'+i[9:]

            os.rename(oldname, newname)  # 用os模块中的rename方法对文件改名
            print(oldname, '======>', newname)


if __name__ == '__main__':
    path = './data/'
    Box = os.listdir(path)
    for f in Box:
        Rename(path+f+'/')

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是使用Python class实现批量修改文件名的完整代码: ```python import os class BatchRename: def __init__(self, path, prefix="", suffix="", replace_dict=None): self.path = path self.prefix = prefix self.suffix = suffix self.replace_dict = replace_dict def rename(self): for filename in os.listdir(self.path): # 获取文件的完整路径 file_path = os.path.join(self.path, filename) # 判断是否是文件,不是文件则跳过 if not os.path.isfile(file_path): continue # 替换文件名中的字符串 if self.replace_dict: for key, value in self.replace_dict.items(): filename = filename.replace(key, value) # 添加前缀和后缀 filename = self.prefix + filename + self.suffix # 获取文件的后缀名 ext = os.path.splitext(filename)[-1] # 生成新的文件名 new_filename = str(hash(filename)) + ext # 重命名文件 os.rename(file_path, os.path.join(self.path, new_filename)) if __name__ == '__main__': # 设置路径及参数 path = "/path/to/folder" prefix = "prefix_" suffix = "_suffix" replace_dict = {"old_str": "new_str"} # 实例化BatchRename类并调用rename方法 renamer = BatchRename(path, prefix, suffix, replace_dict) renamer.rename() ``` 以上代码中,BatchRename类的构造函数接收四个参数,分别是文件夹的路径(path)、文件名前缀(prefix)、文件名后缀(suffix)和需要替换的字符串字典(replace_dict)。rename方法遍历文件夹中的所有文件,根据参数进行文件名的改。其中,使用了hash函数生成新的文件名,以避免重名问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿知

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值