将文件名中带有“指定字符”的文件(重名文件)全部移动动到“重复名”文件夹中

日常工作中,常有一些目录在移动、复制过程中产生不少带(1)(2)(3)……或“ - 副本”的后缀,造成目录混乱,不利于资料整理,但由于时间的关系,又暂时没办去判断它们是否有用,所以又不能删除。

以下Python代码,可将目录中的这类文件暂时移动到一个叫“重复名”的子目录中,以使原目录文件更加清晰、简单。

其中,

        原目录的路径,大家自行在代码中的:

#切换工作目录
工作目录='G:/Xct/Python/测试目录/'

中修改为自己要清理的目录;

        要处理的文件名中带有的“指定字符”(如:(1)(2)(3)或 - 副本),请大家在代码中的:

#定义“指定字符”
指定字符='(1)'
#指定字符=' - 副本'

中修改为自己目录中的样子。

如下,是全部代码,为了方便像我这样的初学者,代码中,能用中文的,我都用中文了:

'''将文件名中带有“指定字符”的文件全部移动动到“重复名”文件夹中'''
import os
import shutil

#定义“指定字符”
指定字符='(1)'
#指定字符=' - 副本'

#切换工作目录
工作目录='G:/Xct/Python/测试目录/'
os.chdir(工作目录)

#在当前目录下创建了一个名为“重复名”的文件夹
重复名文件夹 = "./重复名/"  # 重复名文件夹路径
if not os.path.exists(重复名文件夹):
    os.mkdir(重复名文件夹)  # 创建重复名文件夹

当前路径 = "./"  # 原始文件夹路径,此处为当前路径
重复名文件夹路径 = "./重复名/"  # 重复名文件夹路径


for 文件名 in os.listdir(当前路径):
    主文件名, 扩展名 = os.path.splitext(文件名)  # 将文件名和文件扩展名分离,分别保存为name和ext
    if 指定字符 in 主文件名:  # 判断主文件名中是否有“(1)”
        原文件的完整路径 = os.path.join(当前路径, 文件名)  # 原文件的完整路径
        新文件名 = 主文件名.replace(指定字符, "") + 扩展名  # 新的文件名,剔除“(1)”
        新名文件的完整路径 = os.path.join(重复名文件夹路径, 新文件名)  # 重复名文件的完整路径
        shutil.move(原文件的完整路径, 新名文件的完整路径)  # 移动文件到重复名文件夹中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

将出东方

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

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

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

打赏作者

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

抵扣说明:

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

余额充值