zl程序教程

您现在的位置是:首页 >  Python

当前栏目

你真的会整理文件吗(FindDupFile去重+Python批量重命名)

2023-02-18 16:37:33 时间

“阅读本文大概需要3分钟。

你好,我是测试蔡坨坨。

作为一名业余插画狮,平时会有收集素材的习惯,随着收集的素材越来越多,整理起来就会比较麻烦,对于强迫症来说更是聒噪。

主要有两个原因:

  • 有一些重复且文件名不同的素材,要找出来比较麻烦
  • 文件名比较凌乱,没有统一的命名规则

因此,今天我们就来聊一聊如何整理文件,当然不只适用于图片文件,同时也适用于其他类型的文件。

文件去重

对于文件去重,网上推荐的软件五码八门,有的是付费软件,有的找不到安装包,经过一波筛选,这里推荐使用FindDupFile,并附上软件,软件为绿色版本,无需安装,打开即用,大小只有332KB。

网盘地址:

链接:https://pan.baidu.com/s/1umghjptTBIca28KUD4XJQQ

提取码:ctta

操作步骤:

  • 双击打开FindDupFile.exe
  • 添加文件夹 - 查找重复文件 - 勾选要删除的重复文件 - 删除

Python批量重命名文件

# author: 测试蔡坨坨
# datetime: 2022/11/27 14:43
# function: 批量重命名文件

import os


def batch_rename(file_path):
    """
    批量重命名文件
    @param file_path: 文件夹路径
    """
    # 所有文件名的列表
    file_names = os.listdir(file_path)
    i = 1
    for name in file_names:
        i = int(i)
        if i < 10:
            i = "0000" + str(i)  # 00001
        elif 10 <= i < 100:
            i = "000" + str(i)  # 00010
        elif 100 <= i < 1000:
            i = "00" + str(i)  # 00100
        elif 1000 <= i < 10000:
            i = "0" + str(i)  # 01000
        else:
            i = str(i)

        # rsplit(".", 1)中的1,表示从后面分割1个出来
        # 比如:caituotuo.jpg 分割出来就是 ["caituotuo","jpg"]
        photo_name = str(name).rsplit(".", 1)[0]
        print(photo_name)  # caituotuo
        photo_format = str(name).rsplit(".", 1)[1]
        print(photo_format)  # jpg
        new_name = i + "." + photo_format
        print(new_name)  # 00001.jpg
        os.rename(os.path.join(file_path, name), os.path.join(file_path, new_name))
        i = int(i) + 1


if __name__ == '__main__':
    batch_rename(r"F:\Desktop\素材\人物")

批量重命名后的效果:

以上,完。

脚踏实地,仰望星空,和坨坨一起学习软件测试,升职加薪!