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接收多播数据的代码
Mar 01 Python
python自动化工具日志查询分析脚本代码实现
Nov 26 Python
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
Apr 09 Python
Python输出9*9乘法表的方法
May 25 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
Python requests模块实例用法
Feb 11 Python
pandas修改DataFrame列名的实现方法
Feb 22 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
Dec 25 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
Feb 17 Python
python实现吃苹果小游戏
Mar 21 Python
python中对二维列表中一维列表的调用方法
Jun 07 Python
Python中json.load()和json.loads()有哪些区别
Jun 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
重置版游戏视频
2020/04/09 魔兽争霸
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
PHP 数组黑名单/白名单实例代码详解
2019/06/04 PHP
PHP+redis实现微博的拉模型案例详解
2019/07/10 PHP
js的for in循环和java里foreach循环的区别分析
2015/01/28 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
Jquery常用的方法汇总
2015/09/01 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
Bootstrap布局方式详解
2016/05/27 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
基本DOM节点操作
2017/01/17 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
vue图片加载失败时用默认图片替换的方法
2019/08/29 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
如何构建 vue-ssr 项目的方法步骤
2020/08/04 Javascript
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
浅谈python中requests模块导入的问题
2018/05/18 Python
Windows下Anaconda2安装NLTK教程
2018/09/19 Python
Python中GIL的使用详解
2018/10/03 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
毕业自我鉴定
2013/11/05 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
学校师德师风整改措施
2014/10/27 职场文书
三好学生个人总结
2015/02/15 职场文书
校运会广播稿
2015/08/19 职场文书
SpringBoot项目部署到阿里云服务器的实现步骤
2022/06/28 Java/Android