利用 python 对目录下的文件进行过滤删除


Posted in Python onDecember 27, 2017

前言

最近学习了python,感觉挺多地方能用到它的。打包 测试 上传 爬电影....而且代码量是真少。人生苦短,我用python。而今天写的这个是因为下载电影时总会发现除了视频还会有这两个文件,甚至更多乱七八糟的文件

利用 python 对目录下的文件进行过滤删除

看着这些文件很不舒服。一个个文件夹的删太费劲了。还要注意不能误删。于是这个脚本就出来了“根据扩展名过滤删除文件”,下面话不多说了,来一起看看详细的介绍吧。

Step1

首先需要一个参数配置文件FilterParameter.py

  • formatFiles需要过滤的扩展名
  • dir需要进行删除的目录路径
formatFiles = [
 '.mp4',
 '.mkv',
 '.avi',
 '.rmvb'

]
dir = "/Users/cuiyang/Movies/Fmovie/"

Step2

首先创建一个方法将目录下所有文件取出

def currentDirFile(dir):
 fileNames = os.listdir(dir)
 for fn in fileNames:
  fullFileName = os.path.join(dir, fn)
  if not os.path.isdir(fullFileName):
   delFile(fullFileName)
  else:
   currentDirFile(fullFileName)

再将需要删除的文件进行过滤,这里是将文件移动到废纸篓(mac),万一目录写错了或者什么原因误删那不GG。

def delFile(filePath):
 # 分隔后缀名
 formatName = os.path.splitext(filePath)[1]
 if not FilterParameter.formatFiles.__contains__(formatName) and \
     filePath.split('/')[-1] != '.DS_Store': # mac下每个文件夹都有个.DS_Store隐藏文件这个不需要动
  # print(filePath)
  shutil.move(filePath, '/Users/cuiyang/.Trash')# 移动到废纸篓

对 就是这么简单 相信会python的同学一下就看懂了。源码地址 (本地下载)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python用GET方法上传文件
Mar 10 Python
Python 探针的实现原理
Apr 23 Python
用python实现对比两张图片的不同
Feb 05 Python
Python对数据进行插值和下采样的方法
Jul 03 Python
使用tensorflow实现线性回归
Sep 08 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
Jan 09 Python
Django框架模板的使用方法示例
May 25 Python
keras自定义回调函数查看训练的loss和accuracy方式
May 23 Python
如何利用python之wxpy模块玩转微信
Aug 17 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
Sep 28 Python
python mock测试的示例
Oct 19 Python
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
May 22 Python
python中使用%与.format格式化文本方法解析
Dec 27 #Python
python类的方法属性与方法属性的动态绑定代码详解
Dec 27 #Python
python中的迭代和可迭代对象代码示例
Dec 27 #Python
python并发编程之线程实例解析
Dec 27 #Python
Python实现连接postgresql数据库的方法分析
Dec 27 #Python
Python机器学习之SVM支持向量机
Dec 27 #Python
Python:Scrapy框架中Item Pipeline组件使用详解
Dec 27 #Python
You might like
PHP 金额数字转换成英文
2010/05/06 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
详解php命令注入攻击
2019/04/06 PHP
laravel 时间格式转时间戳的例子
2019/10/11 PHP
Prototype使用指南之form.js
2007/01/10 Javascript
script的async属性以非阻塞的模式加载脚本
2013/01/15 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
2015/09/05 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
原生js实现淘宝放大镜效果
2020/10/28 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
2019/03/14 Javascript
python条件和循环的使用方法
2013/11/01 Python
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
widows下安装pycurl并利用pycurl请求https地址的方法
2018/10/15 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
Python标准库shutil模块使用方法解析
2020/03/10 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
python palywright库基本使用
2021/01/21 Python
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
Craghoppers德国官网:户外和旅行服装
2020/02/14 全球购物
英国银首饰公司:e&e Jewellery
2021/02/11 全球购物
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
大学生入党思想汇报
2014/01/01 职场文书
教育见习报告范文
2014/11/03 职场文书
培训通知
2015/04/17 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
redis缓存存储Session原理机制
2021/11/20 Redis