清理文件的python脚本

由于刚开始在cnblog写博客,发现网页版没法直接贴图片,加上使用的是mac电脑,快捷键直接把图片存到桌子上。

外加下载东西一大堆。

就动手写了个小脚本,然后放到了local bin的文件夹,终于可以减低一些鼠标负担。

代码如下:

#!/Users/alex/anaconda/bin/python



import os,re,shutil



def delMess(path,reStr,flag=0):

    os.chdir(path)

    fileList=os.listdir(path)

    if flag==0:

        for filename in fileList:

            m=re.search(reStr, filename)

            if m:

                os.remove(m.group())

    else:

        for filename in fileList:

            m=re.search(reStr, filename)

            if not m:

                try:

                    os.remove(filename)

                except OSError:

                    shutil.rmtree(filename)

                    

                    

            

delMess("/Users/alex/Desktop", ".*\.png")

delMess("/Users/alex/Downloads",".*\.iso",1)

    

 基本功能很简单,默认的flag是0,也就是清理桌面上的png图片

 flag=1 的功能是删除非某种类别的所有文件,包含文件夹

 比较tricky的地方是删除文件夹,由于时间限制没深究os模块

 发现删除文件如果删到文件夹会抛出 osError

 rmdir也不能用,因为无法删除非空文件夹,如果删非空也会抛出osError异常

 所以代码就简化成了 remove文件 如果有异常就用rmtree

 

你可能感兴趣的:(python)