首页 > 代码库 > 清理文件的python脚本

清理文件的python脚本

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

外加下载东西一大堆。

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

代码如下:

#!/Users/alex/anaconda/bin/pythonimport os,re,shutildef 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脚本