Python中删除文件的程序代码

 更新时间:2011年03月13日 13:57:20   作者:   我要评论
很多软件在运行时会自动创建一些备份文件,在程序退出后又不自动删除备份文件,随着文件数量的增加,每隔一段时间就要清理一下。
Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。它具有简单、易学、免费、开源、可移植性、解释性、面向对象、可扩展性、可嵌入性以及丰富的库等特性,目前的应用范围也非常广泛,如系统编程、图像处理、数据库编程等方面。
Python开发者可以使用文本编辑器(如Windows的记事本等)或者专业的IDE(集成开发环境)来编写程序代码。IDE使得开发者可以很方便地创建、运行、调试Python程序。IDE可以在Python的官方网站(http://www.python.org)下载,目前(2009年9月)最新版本为Python 3.1.1,本文中将以Python 2.6.2为开发平台进行介绍。
关于Python程序的运行,其实一个Python程序就相当于一个应用程序,它不需要经过编译,只需要用户电脑上面安装Python环境即可。要运行一个py程序,直接双击这个py文件即可。一般情况下,没有提示用户输入或控制屏幕显示,打开一个py文件时会突然闪一下马上就退出,这是由于程序运行已经完成了。若需要显示,则要添加一个屏幕暂停的代码:
os.system('pause')
在使用这个代码前,需要引用os模块:import os
下面开始介绍删除文件的Python程序设计:
很多软件在运行时会自动创建一些备份文件,在程序退出后又不自动删除备份文件,随着文件数量的增加,每隔一段时间就要清理一下。如果文件数量比较多,手工清理显然比较麻烦。于是可以编写一个Python脚本来完成该任务。如下代码:
复制代码 代码如下:

# -*- coding: cp936 -*-
#file:E01.py
import os
#该函数用于删除文件
def scan(arg, dirname, names):
for file in names:
if file[0]=="~" or file[-4:]==".bak":
print "删除文件:", file
file=dirname+"\\"+file
os.remove(file)
print "完成!"
#提示用户输入目录路径
path=raw_input("请输入要删除文件所在目录:(如D:\\temp)")
if os.path.exists(path)==False: #检查用户输入的目录是否存在,如果不存在则退出程序
print "输入的目录不存在!"
os._exit(1)
os.path.walk(path, scan, 0)
os.system('pause')

运行该程序,它将删除用户指定目录下的以波浪符号(~)开头或以后缀(.bak)结尾的文件。运行结果如下图所示:
下面来分析这段代码。首先,系统操作都在os模型中,所有首先需要导入os模型。然后提示用户输入文件目录,同时检查用户输入的文件目录是否正确。检验目录是否存在使用os.path.exists(path)方法,如果返回True则表示目录存在,如果返回False则表示不存在,则退出程序。退出Python程序采用os._exit(1)方法。os.path.walk()方法是访问目录中的每个目录以及文件,在该方法内调用函数scan。函数scan的参数指定为3个,其中names表示目录内所有文件的名称,为列表类型。然后对于每一个文件检查其文件名是否符合要删除文件名的特征(以波浪符号(~)开头或以后缀(.bak)结尾的文件),如果符合要求,则采用os.remove(file)方法删除。在此值得注意的是,采用os.remove(file)方法删除文件,要求参数file为全路径和文件名,如D:\temp\1.bak。
如果要删除tmp临时文件,只需要将上段代码中的“file[-4:]==".bak"”更改为“file[-4:]==".tmp"”即可。最后一句(os.system('pause'))表示屏幕暂停。

相关文章

  • python ---lambda匿名函数介绍

    python ---lambda匿名函数介绍

    这篇文章主要介绍了python lambda匿名函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 使用Flask-Cache缓存实现给Flask提速的方法详解

    使用Flask-Cache缓存实现给Flask提速的方法详解

    这篇文章主要介绍了使用Flask-Cache缓存实现给Flask提速的方法,结合实例形式详细分析了Flask-Cache的安装、配置及缓存使用相关操作技巧,需要的朋友可以参考下
    2019-06-06
  • python urllib爬取百度云连接的实例代码

    python urllib爬取百度云连接的实例代码

    本篇文章主要介绍了python urllib爬取百度云连接的实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Python PyCharm如何进行断点调试

    Python PyCharm如何进行断点调试

    这篇文章主要介绍了Python PyCharm如何进行断点调试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python访问MongoDB,并且转换成Dataframe的方法

    Python访问MongoDB,并且转换成Dataframe的方法

    今天小编就为大家分享一篇Python访问MongoDB,并且转换成Dataframe的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • 在Python中pandas.DataFrame重置索引名称的实例

    在Python中pandas.DataFrame重置索引名称的实例

    今天小编就为大家分享一篇在Python中pandas.DataFrame重置索引名称的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • python学生管理系统学习笔记

    python学生管理系统学习笔记

    这篇文章主要为大家详细介绍了python学生管理系统的学习笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • Python实现简单层次聚类算法以及可视化

    Python实现简单层次聚类算法以及可视化

    这篇文章主要为大家详细介绍了Python实现简单层次聚类算法以及可视化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • Django 根据数据模型models创建数据表的实例

    Django 根据数据模型models创建数据表的实例

    今天小编就为大家分享一篇Django 根据数据模型models创建数据表的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Django视图和URL配置详解

    Django视图和URL配置详解

    这篇文章主要介绍了Django视图和URL配置详解,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01

最新评论