利用python解决实际问题_巧用python解决实际问题

自动删除某些垃圾文件

某些软件在工作时会自动生成一些备份文件。随着文件数量的增长,每隔一段时间就要清理一下。当然可以选择手工清理,不过考虑到这些文件是分散在不同的目录下,而且数量比较多,所以手工清理还是有些麻烦。使用一个简单的 python 脚本来自动完成这一任务。下面这段代码扫描D盘下的所有目录,并删除目录下的有关备份文件:

from os.path import walk, join, normpath

from os import chdir,remove

def scan(arg, dirname, names)

for file in names:

1  if file[-1:]=="~" or file[-4:]==".bak":

2      files = normpath(join(dirname,file))

3            chdir(dirname)

4            print "deleting", files

5            remove(file)

6            print "done!"

if __name__== "__main__":

path = chdir('d:\')

7  walk(path, scan, 0)

对以上代码的简单分析和解释:

基本的想法是利用脚本对各个目录进行扫描,对目录下每一个文件进行判断(1句),如果是某个程序生成的备份文件就删除掉(5句)。 备份文件的扩展名都有一定的特征,比如 Vim 备份文件的最后一个字符是波浪号~,而 Autocad 的备份则以 bak 结束。这些特征是判断一个文件是否应该被删除的依据。 7 句 walk(path, scan, 0) 是一个 python 的内置函数。用来遍历目录 path。显而易见借助于 python 提供的这个函数,扫描目录的工作比较轻松地完成了,从而使编程的难度降低许多。 最后要说明的一点是,删除某个文件时要知道它的绝对路径而且要在那个文件的所在目录下进行,否则 python 会提示找不到要处理的文件。2 句得到了文件的绝对路径,3 句 chdir(dirname) 则把当前的目录变成要删除文件的所在目录。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值