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

时间:2022-10-10 11:56:34

前言

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

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

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

Step1

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

  • formatFiles需要过滤的扩展名
  • dir需要进行删除的目录路径
?
1
2
3
4
5
6
7
8
formatFiles = [
 '.mp4',
 '.mkv',
 '.avi',
 '.rmvb'
 
]
dir = "/Users/cuiyang/Movies/Fmovie/"

Step2

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

?
1
2
3
4
5
6
7
8
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。

?
1
2
3
4
5
6
7
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的同学一下就看懂了。源码地址

总结

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

原文链接:https://www.jianshu.com/p/ef32a57adf28