python 对目录下文件过滤删除

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

image.png

看着这些文件很不舒服。一个个文件夹的删太费劲了。还要注意不能误删。于是这个脚本就出来了“根据扩展名过滤删除文件”

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的同学一下就看懂了。源码地址

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,420评论 25 708
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,237评论 2 33
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,967评论 19 139
  • 雲泥之別天與地 同為蒼生情和義 天降恩雨成甘霖 地出五谷養萬民
    秋詩星語阅读 363评论 0 0
  • QDrive Quests Q型驱动领导力任务: Day 89 Celebrate: Celebrate your...
    黄海山阅读 175评论 2 0