使用Python帮助我们解决实际问题(1)

原创 2007年09月23日 14:06:00
 

HTML Tags and JavaScript tutorial



使用Python帮助我们解决实际问题(1)





自动删除某些垃圾文件
某些软件在工作时会自动生成一些备份文件。随着文件数量的增长,每隔一段时间就要清理一下。当然可以选择手工清理,不过考虑到这些文件是分散在不同的目录下,而且数量比较多,所以手工清理还是有些麻烦。使用一个简单的 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) 则把当前的目录变成要删除文件的所在目录。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

利用Python构建时间序列模型解决实际问题的正确姿势

要本着应用到实际工作中目的去学时间序列分析,才能深入浅出的学会,不要纠结于理论,只听我的,我有信心说明白。 本章内容趋势分析序列分解序列预测序列分解统计学基础铺垫划分时间序列按照季节性划分: 季节性时...

用python解决你的实际问题,忘记语言吧

我在思考一个问题。软件是为人服务的,而人的需求一直在变。什么东西能快速适应这种需求的变更。 本人从汇编玩到C,总觉得这些底层的东西吧~~强大是强大,但是用起来费劲,而且分散你的经历,不能把精力放在应用...

批处理解决实际问题1——将目录下所有文件(*.cpp)分别创建同名文件夹并移入其中

问题描述: 学习OpenGL时,从网上下载了一些源代码,解压后发现所有.cpp文件在同一个目录下,这样直接一个一个全部编译的话,就乱套了,虽然不影响结果但不利于管理。于是,我需要写一个程序将所有*....

学会使用switch语句解决实际问题

2011年11月23日 (2011-11-23 00:03:59)[编辑][删除] 转载▼ 标签: 杂谈   实验目的:学会使用switch语句...

第14周报告2:使用函数解决实际问题

任务2:(函数及数组的简单应用) 在数组score中将要存储某小组C++程序设计的成绩,请设计完成下面功能函数,并将它们组合成一个完整的应用: (1)输入小组人数及成绩; (2)输出该小组的最高成...

学会使用自定义函数解决实际问题

实验目的:学会使用自定义函数解决实际问题 实验内容:定义自定义函数,计算sin和cos的近似值 * 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了) * 程序的版权和版本声明...

广电网络使用VisualVet系统解决的实际问题

广电网络的资产与用户分布面广、连接关系复杂,用传统的管理平台已经无法很好地解决我们实际工作中所遇到的问题。而VisualNet平台,却能通过易于理解的图形化方式,把实体对象、线路以及属性信息很好的管理...

2011年11月27日 学会使用循环控制语句解决实际问题

2011年11月27日 (2011-11-27 12:28:24)[编辑][删除] 转载▼ 标签: 杂谈   实验目的:学会使用循环控制语句...

学会使用循环控制语句解决实际问题

第11周报告3: 实验目的:学会使用循环控制语句解决实际问题 实验内容:编程找出1000以内的所有完数。 * 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了) * 程...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)