Python中删除文件的程序代码


Posted in Python onMarch 13, 2011

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 相关文章推荐
Python中MySQL数据迁移到MongoDB脚本的方法
Apr 28 Python
python中import学习备忘笔记
Jan 24 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
Dec 21 Python
Python使用装饰器进行django开发实例代码
Feb 06 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
Apr 10 Python
扩展Django admin的list_filter()可使用范围方法
Aug 21 Python
python ftplib模块使用代码实例
Dec 31 Python
opencv+python实现均值滤波
Feb 19 Python
Python 绘制可视化折线图
Jul 22 Python
python如何实现word批量转HTML
Sep 30 Python
python中numpy数组与list相互转换实例方法
Jan 29 Python
教你如何使用Python开发一个钉钉群应答机器人
Jun 21 Python
python 中文乱码问题深入分析
Mar 13 #Python
学习python处理python编码问题
Mar 13 #Python
布同 Python中文问题解决方法(总结了多位前人经验,初学者必看)
Mar 13 #Python
布同 统计英文单词的个数的python代码
Mar 13 #Python
python将多个文本文件合并为一个文本的代码(便于搜索)
Mar 13 #Python
布同自制Python函数帮助查询小工具
Mar 13 #Python
Python中的文件和目录操作实现代码
Mar 13 #Python
You might like
十天学会php之第六天
2006/10/09 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
关于更改Zend Studio/Eclipse代码风格主题的介绍
2013/06/23 PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
2014/06/26 PHP
php更新mysql后获取改变行数的方法
2014/12/25 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
jQuery 注意事项 与原因分析
2009/04/24 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
jQuery弹出层插件Lightbox_me使用指南
2015/04/21 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
js如何打印object对象
2015/10/16 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
JS全局变量和局部变量最新解析
2016/06/24 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
vue使用vue-cli快速创建工程
2017/07/28 Javascript
浅析Angular19 自定义表单控件
2018/01/31 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
JS如何把字符串转换成json
2020/02/21 Javascript
vue.js实现双击放大预览功能
2020/06/23 Javascript
[01:08:32]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第二场 1月18日
2021/03/11 DOTA
Python中的localtime()方法使用详解
2015/05/22 Python
Python+微信接口实现运维报警
2016/08/27 Python
Django处理文件上传File Uploads的实例
2018/05/28 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
python解释器安装教程的方法步骤
2020/07/02 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
银行求职信个人范文
2013/12/16 职场文书
会议接待欢迎词
2014/01/12 职场文书
给校长的一封建议书
2014/03/12 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书
任命书怎么写
2015/03/02 职场文书
八年级作文之友情
2019/11/25 职场文书