使用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) 则把当前的目录变成要删除文件的所在目录。


如日中天的Docker解决了什么问题?

毫无疑问,DocKer成了近些年来最火热,甚至最具颠覆性的技术之一。国际上,所有泛云计算相关的公司,几乎都在某种程度上宣布支持并集成Docker。在2014年6月的DockerCon中,很多公司都分享...
  • zhushuai1221
  • zhushuai1221
  • 2016年09月09日 14:34
  • 2195

动态规划——最少硬币问题

之前我在动态规划(dynamic programming)原理抛出了一个最少硬币问题。接下来,在这篇文章,我们将会对硬币问题进行一个全面的解析,并尽可能的解释动态规划的原理,希望读者们可以通过这个问题...
  • q623702748
  • q623702748
  • 2016年05月02日 20:06
  • 3735

动态规划算法求解0,1背包问题

看看动态规划的四个步骤:对于动态规划算法,我们必须明确两个基本要素,这两个要素对于在设计求解具体问题的算法时,是否选择动态规划算法具有指导意义:...
  • weiweiyixiaocsdn
  • weiweiyixiaocsdn
  • 2015年05月11日 21:14
  • 1371

使用排序算法解决实际问题,初步体会文件的输入输出

  • 2011年12月09日 10:34
  • 362KB
  • 下载

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

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

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

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

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

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

记一次工作中解决实际问题使用的MySql存储过程

记一次工作中解决实际问题使用的MySql存储过程这里简单记录下本次业务解决过程中使用mysql的存储过程,从里面可以看到循环、分支控制,视图创建,变量定义及赋值,2个游标定义及使用相关的过程,存储过程...
  • shizhengxing
  • shizhengxing
  • 2016年02月02日 16:12
  • 261

算法研究--使用 红黑树 解决实际问题(理论与实践)

在查找中,虽然hash表查找非常迅速,但是随着数据的种类增多, hash表长会变得更长,且冲突也会越来越多,那么如何能实现无论在 多大数据量的情况下,查找依然是高性能的呢?    在1978...
  • bluehawksky
  • bluehawksky
  • 2014年09月23日 15:27
  • 358

大一上学期C++第11周实验报告(三)学会使用循环控制语句解决实际问题

第11周报告2 实验目的:学会使用循环控制语句解决实际问题 实验内容:九九相乘法表 * 程序头部注释开始 * 程序的版权和版本声明部分 * Copyright (c) 2011,...
  • lihongxuanli
  • lihongxuanli
  • 2012年04月10日 22:23
  • 988
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Python帮助我们解决实际问题(1)
举报原因:
原因补充:

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