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中的Cookie模块使用
Jul 06 Python
Swift 3.0在集合类数据结构上的一些新变化总结
Jul 11 Python
Django框架教程之正则表达式URL误区详解
Jan 28 Python
python数据类型之间怎么转换技巧分享
Aug 20 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
Dec 12 Python
python获取依赖包和安装依赖包教程
Feb 13 Python
Pandas替换及部分替换(replace)实现流程详解
Oct 12 Python
Django启动时找不到mysqlclient问题解决方案
Nov 11 Python
Django搭建项目实战与避坑细节详解
Dec 06 Python
一劳永逸彻底解决pip install慢的办法
May 24 Python
numpy array找出符合条件的数并赋值的示例代码
Jun 01 Python
Django数据库(SQlite)基本入门使用教程
Jul 07 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
PHPMailer邮件类利用smtp.163.com发送邮件方法
2008/09/11 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
图解找出PHP配置文件php.ini的路径的方法
2014/08/20 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
2018/08/21 PHP
表单项的name命名为submit、reset引起的问题
2007/12/22 Javascript
jQuery EasyUI API 中文文档 - DataGrid数据表格
2011/11/17 Javascript
JS 弹出层 定位至屏幕居中示例
2014/05/21 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
2016/03/02 Javascript
javascript实现方法调用与方法触发小结
2016/03/26 Javascript
详解angularjs获取元素以及angular.element()用法
2017/07/25 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
微信小程序实现动态获取元素宽高的方法分析
2018/12/10 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
Node.js实现简单管理系统
2019/09/23 Javascript
Python实现代码统计工具(终极篇)
2016/07/04 Python
django框架实现一次性上传多个文件功能示例【批量上传】
2019/06/19 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
理解Django 中Call Stack机制的小Demo
2020/09/01 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
css3实现简单的白云飘动背景特效
2020/10/28 HTML / CSS
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
二人合伙经营协议书
2014/09/13 职场文书
车辆年审委托书范本
2014/09/18 职场文书
“向国旗敬礼”主题班会活动设计方案
2014/09/27 职场文书
三八妇女节标语
2014/10/09 职场文书
2014年电厂个人工作总结
2014/11/27 职场文书
中学团支部工作总结
2015/08/13 职场文书
2015年文秘个人工作总结
2015/10/14 职场文书
学校扫黄打非工作总结
2015/10/15 职场文书
Vue-Element-Admin集成自己的接口实现登录跳转
2021/06/23 Vue.js