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制作简单的网页爬虫
Nov 22 Python
Windows环境下python环境安装使用图文教程
Mar 13 Python
Python统计单词出现的次数
Apr 04 Python
Python通过属性手段实现只允许调用一次的示例讲解
Apr 21 Python
用Python一键搭建Http服务器的方法
Jun 01 Python
python中itertools模块zip_longest函数详解
Jun 12 Python
python实现推箱子游戏
Mar 25 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
python读取mysql数据绘制条形图
Mar 25 Python
浅谈python多线程和多线程变量共享问题介绍
Apr 17 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
Oct 16 Python
总结Python连接CS2000的详细步骤
Jun 23 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设计模式 Interpreter(解释器模式)
2011/06/26 PHP
解析php函数method_exists()与is_callable()的区别
2013/06/21 PHP
php简单的留言板与回复功能具体实现
2014/02/19 PHP
php操作redis缓存方法分享
2015/06/03 PHP
配置Nginx+PHP的正确思路与过程
2016/05/10 PHP
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
js弹出确认是否删除对话框
2014/03/27 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
js实现文字垂直滚动和鼠标悬停效果
2015/12/31 Javascript
JavaScript操作HTML DOM节点的基础教程
2016/03/11 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
本地存储localStorage用法详解
2017/07/31 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
2018/04/27 Javascript
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[01:09:16]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第一场 1月25日
2021/03/11 DOTA
Django中模版的子目录与include标签的使用方法
2015/07/16 Python
python生成二维码的实例详解
2017/10/29 Python
Python实现PS滤镜的万花筒效果示例
2018/01/23 Python
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
python调用百度REST API实现语音识别
2018/08/30 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
2020/02/26 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
某公司C#程序员面试题笔试题
2014/05/26 面试题
深圳茁壮笔试题
2015/05/28 面试题
光电信息专业应届生求职信
2013/10/07 职场文书
餐厅筹备计划书
2014/04/25 职场文书
乡镇平安建设汇报材料
2014/08/25 职场文书
三问三解心得体会
2014/09/05 职场文书
先进党支部申报材料
2014/12/24 职场文书
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技