erlchina 发表于 2015-12-2 08:45:49

清理文件的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
  
页: [1]
查看完整版本: 清理文件的python脚本