用python代码去除文件夹下所有指定后缀的文件

最近在做深度学习领域的实验,初次做实验没有经验,自己做数据集的过程有一些   业余, 生成了一些不同格式的配置文件自己手动去删除有些麻烦,想偷懒的人不得不去学习利用python方法去解决这个需求。

目标是去除下图文件夹中的  .xml  结尾的  标注配置文件   保留  .jpg  后缀的图片文件

 解决代码:

import os
import shutil

# 这个函数是用来递归遍历文件夹里面所有内容,包括文件夹和文件,将它们分开放到两个列表
# 顾名思义:file_list 是放文件的、dir_list 是放目录的
def get_file_path(root_path, file_list, dir_list):
   # 获取该目录下所有的文件名称和目录名称
   dir_or_files = os.listdir(root_path);
   for dir_file in dir_or_files:
      # 获取目录或者文件的路径
      dir_file_path = os.path.join(root_path, dir_file)
      # 判断该路径为文件还是路径
      if os.path.isdir(dir_file_path):
         dir_list.append(dir_file_path)
         # 递归获取所有文件和目录的路径
         get_file_path(dir_file_path, file_list, dir_list)
      else:
         file_list.append(dir_file_path);

# 这个函数是用来将遍历好的文件列表中里面某些需要删除的文件进行删除操作
# 如果你不放心带后缀的文件删除后有啥影响,在下面有一句注释的代码,是用来将源文件复制拷贝到某个目录里
def delete_file(file_list):
        # file_list 已经在上面的函数遍历完成 现在里面的内容是所有的文件
        # 我们挨个遍历 找到符合删除文件的条件
   for file_name in file_list:
                # 如果文件的后缀符合要求 就进行操作
      if file_name.endswith(".xml"):
                        # 在屏幕上打印出来文件的名称 你得知道你删除了什么文件
         print(file_name)
         # 下面代码是将删除这个后缀的文件拷贝到一个备份的文件夹,其实就是多此一举
                        # 一开始是为了确认下删除了那个带后缀的文件会不会对源文件产生一些影响
         # shutil.copy(file_name.split(".baiduyun.p.downloading")[0], r"E:\BackUP")
                        # 直接进行删除
         os.remove(file_name)

if __name__ == "__main__":
   # 根目录路径
   root_path = r"文件路径";
   # 用来存放所有的文件路径
   file_list = []
   # 用来存放所有的目录路径
   dir_list = []
   get_file_path(root_path, file_list, dir_list)
   # print(file_list)
   # print(dir_list)
   delete_file(file_list)
   os.system("pause")

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

tp_0moyi0

新手入行,慢慢学习,慢慢积累

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

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

打赏作者

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

抵扣说明:

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

余额充值