美文网首页程序员
python 对目录下文件过滤删除

python 对目录下文件过滤删除

作者: EasonDev | 来源:发表于2017-12-26 16:17 被阅读260次

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

    相关文章

      网友评论

        本文标题:python 对目录下文件过滤删除

        本文链接:https://www.haomeiwen.com/subject/jskjgxtx.html