应用场景:

下载的多个文件夹是压缩包,解压后每个文件夹都有某个网站的推广链接,想要批量的删除该文件

使用环境:win7,python3.6

代码:

1、直接用for循环

由于os.walk()方法自带深度遍历功能,这里直接使用for循环即可找到所有文件夹及文件

import os

def deleteFiles():
for root, dirs, files in os.walk(wanted_del_file_dir):
for file_name in files:
file_path = os.path.join(root, file_name)
if file_name in del_file_list:
print("-" * 20)
print('delete:%s' % file_path) # 查看删除文件具体路径
os.remove(file_path) if __name__ == '__main__':
wanted_del_file_dir = u'D:\\test' # 要批量删除文件的最上级文件夹
del_file_list = ['百度云SVIP长期免费使用.url',
'本教程由我爱学it提供.url',
'高清电子书籍.url',
'更多精品教程.url',
'下载必看.txt',
] deleteFiles()
print('删除完成!')

  

2、用递归的方式:

import os

def readFilename(file_dir):
for root, dirs, files in os.walk(file_dir):
return files, dirs, root def deleteFiles(files, dirs, root):
for i in files:
if i in del_file_list:
print("-" * 20)
print('delete:%s' % os.path.join(root, i), i) # 查看删除文件具体路径
os.remove(os.path.join(root, i)) for j in dirs:
fi, di, ro = readFilename(root + "\\" + j)
deleteFiles(fi, di, ro) if __name__ == '__main__':
wanted_del_file_dir = u'D:\\00python临时\\S15django' # 要批量删除文件的最上级文件夹
files, dirs, root = readFilename(wanted_del_file_dir)
del_file_list = ['百度云SVIP长期免费使用.url',
'本教程由我爱学it提供.url',
'高清电子书籍.url',
'更多精品教程.url',
'下载必看.txt',
]
  #设置要删除的文件
deleteFiles(files, dirs, root)
print('删除完成!')

  

Python小练习:批量删除多个文件夹内的相同文件的更多相关文章

  1. 用Python来实现列举某个文件夹内所有的文件列表

    用Python来实现列举某个文件夹内所有的文件列表.吾八哥我动手写代码之前分析了下,遍历一个文件夹,肯定是需要用到os模块了,查阅模块帮助信息,可知os.listdir()方法可以列举某个文件夹内的所 ...

  2. Python文件操作大全,随机删除文件夹内的任意文件

     在读文件的时候往往需要遍历文件夹,python的os.path包含了很多文件.文件夹操作的方法: os.path.abspath(path) #返回绝对路径os.path.basename(path ...

  3. Java获取一个文件夹内的所有文件(包括所有子文件夹内的)

    输入文件数组.文件夹路径 返回的文件在输入的文件数组中 private void getFiles(ArrayList<File> fileList, String path) { Fil ...

  4. Python批量修改文件夹内所有json文件中部分内容

    #coding=utf-8 import os import json #获取目标文件夹的路径 filedir = os.getcwd()+'/ceshi' #获取文件夹中的文件名称列表 filena ...

  5. python实现将文件夹内所有txt文件合并成一个文件

    新建一个文件夹命名为yuliao,把所有txt文件放进去就ok啦!注意路径中‘/’,windows下路径不是这样. #coding=utf-8  import os #获取目标文件夹的路径 filed ...

  6. C#编写程序监测某个文件夹内是否有文件进行了增,删,改的动作?

    新建一个Console应用程序,项目名称为“FileSystemWatcher”,Copy代码进,编译后就可以用了.代码如下: using System; using System.Collectio ...

  7. java+web上传文件夹内的所有文件

    javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 <form id=" ...

  8. python 小工具 重命名当前文件夹内所有的文件,升序命名

    背景:一个朋友想升序重命名他的照片,但是太多了不想手动所以,emememem os这个模块,不用说,rename,filedir等 #conding=utf8 import os path = os. ...

  9. C#实现把指定文件夹下的所有文件复制到指定路径下以及修改指定文件的后缀名

    1.实现把指定文件夹下的所有文件复制到指定路径下 public static void copyFiles(string path) { DirectoryInfo dir = new Directo ...

随机推荐

  1. Json、Pickle

    目录 Json pickle Json JSON是一个序列化模块,一种用于存储和交换数据的语法. JSON是用JavaScript对象表示法(JavaScript object notation)格式 ...

  2. CF Educational Round 78 (Div2)题解报告A~E

    CF Educational Round 78 (Div2)题解报告A~E A:Two Rival Students​ 依题意模拟即可 #include<bits/stdc++.h> us ...

  3. SQL 变形

    需求:共有协议X份,已签XX份,待签X份 sql: select count(1) 总记录数, sum(case when XY_STATUS='1' then 1 else 0 end)待签, su ...

  4. 转载:深度学习在NLP中的应用

    之前研究的CRF算法,在中文分词,词性标注,语义分析中应用非常广泛.但是分词技术只是NLP的一个基础部分,在人机对话,机器翻译中,深度学习将大显身手.这篇文章,将展示深度学习的强大之处,区别于之前用符 ...

  5. springboot项目打包成jar/war包

    springboot项目打包过程中包含第三方jar 开发IDE是IntelliJ IDEA,数据库是mysql,内置服务器tomcat. 打包步骤: 1. 确定项目调试运行没问题 2. 将第三方jar ...

  6. 2018-2019-2 网络对抗技术 20165318 Exp 8 Web基础

    2018-2019-2 网络对抗技术 20165318 Exp 8 Web基础 原理与实践说明 实践内容概述 基础问题回答 实践过程记录 1.Web前端:HTML 2.Web前端:javascipt ...

  7. DI 依赖注入之unity的MVC版本使用Microsoft.Practices.Unity1.2与2.0版本对比

    DI 依赖注入之unity的MVC版本使用Microsoft.Practices.Unity1.2与2.0版本对比 参考:https://www.cnblogs.com/xishuai/p/36702 ...

  8. 【java】获取客户端访问的公网ip和归属地

    import com.alibaba.druid.support.json.JSONUtils; import org.thymeleaf.util.StringUtils; import javax ...

  9. java ---- 认识类和对象

    ----  开发方法 结构化开发方法特点: 1.面向功能划分软件结构 2.自顶而下 3.最小的子系统是方法 4.制约了软件的可维护性和扩展性 面向对象开发方法特点: 1.把软件系统看成各种对象和集合 ...

  10. C编程遇到的一些小细节

    1  typedef int ElemType  -->  typedef int ElemType; 此处要加分行(:),要区别  #defin a 20 此处不需要加分号:#define是预 ...