Python实现删除文件但保留指定文件


Posted in Python onJune 21, 2015

由于给客户的发布版本上客户改动了些代码和图片,我们这边给他们更新publish都是增量更新(开发提供更新指定的文件,我们提取出来给客户进行覆盖更新),但有时需要更新的文件较多导致不得不一个一个的进行查找、替换,工作量大而且容易出错。所以用python写个保留pulish后目录的指定文件、删除其他文件的功能。

代码如下:

 import os

 import os.path

 

 def DeleteFiles(path,fileList):

     for parent,dirnames,filenames in os.walk(path):

 

         FullPathList = []

         DestPathList = []

 

         for x in fileList:

             DestPath = path + x

             DestPathList.append(DestPath)

 

 

         for filename in filenames:                   

             FullPath = os.path.join(parent,filename)

             FullPathList.append(FullPath)

 

 

         for xlist in FullPathList:

             if xlist not in DestPathList:

                 os.remove(xlist)

代码解释:
  1、for parent,dirnames,filenames in os.walk(path): 该for循环用于遍历指定path的父文件夹、文件夹名(不含目录)、文件名

2、

        for x in fileList:

            DestPath = path + x

            DestPathList.append(DestPath)

该方法两个参数分别是path,filelist。path用来指定publish文件的存放目录,例如:'D:\publish',filelist通过list存放你希望保留的文件及该文件路径,例如:

[r'\1.txt',r'\a\1.txt'],然后将path和filelist拼接起来存放到另一个列表中就是你希望保存文件的完整路径存放在DestPathList中,既['D:\\publish\\1.txt','D:\\publish\\a\\1.txt']

3、

        for filename in filenames:                     

            FullPath = os.path.join(parent,filename)

            FullPathList.append(FullPath)

将目录下所有文件的绝对路径存放在列表FullPathList中

4、

        for xlist in FullPathList:

            if xlist not in DestPathList:

                os.remove(xlist)

遍历FullPathList中元素跟DestPathList中元素进行比对,如果不相同则删除文件
功能虽然简单,但工作中还是比较实用的,故在此留下脚印。

Python 相关文章推荐
python的urllib模块显示下载进度示例
Jan 17 Python
Ubuntu下安装PyV8
Mar 13 Python
利用aardio给python编写图形界面
Aug 21 Python
Python之用户输入的实例
Jun 22 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
Aug 03 Python
Python基于滑动平均思想实现缺失数据填充的方法
Feb 21 Python
运用Python的webbrowser实现定时打开特定网页
Feb 21 Python
解决django同步数据库的时候app models表没有成功创建的问题
Aug 09 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
Python中实现输入超时及如何通过变量获取变量名
Jan 18 Python
Pytorch 实现数据集自定义读取
Jan 18 Python
Django使用Celery加redis执行异步任务的实例内容
Feb 20 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
Jun 21 #Python
让Python代码更快运行的5种方法
Jun 21 #Python
Python文件读取的3种方法及路径转义
Jun 21 #Python
Python多线程和队列操作实例
Jun 21 #Python
Python中type的构造函数参数含义说明
Jun 21 #Python
Python base64编码解码实例
Jun 21 #Python
python在控制台输出进度条的方法
Jun 20 #Python
You might like
德生PL660的电路分析和打磨
2021/03/02 无线电
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
PHP判断是否为空的几个函数对比
2015/04/21 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
javascript基本语法分析说明
2008/06/15 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
Javascript的数组与字典用法与遍历对象的属性技巧
2012/11/07 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
angularjs学习笔记之完整的项目结构
2015/09/26 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
2017/01/09 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
微信小程序开发图片拖拽实例详解
2017/05/05 Javascript
浅谈在node.js进入文件目录的问题
2018/05/13 Javascript
微信小程序--特定区域滚动到顶部时固定的方法
2019/04/28 Javascript
Ant Design Pro 下实现文件下载的实现代码
2019/12/03 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
js实现表单项的全选、反选及删除操作示例
2020/06/05 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
[00:35]DOTA2上海特级锦标赛 Newbee战队宣传片
2016/03/03 DOTA
使用python存储网页上的图片实例
2018/05/22 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
TensorFlow打印输出tensor的值
2020/04/19 Python
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
面向对象编程的优势是什么
2015/12/17 面试题
关于工资低的辞职信
2014/01/14 职场文书
保密工作实施方案
2014/02/24 职场文书
yy生日主持词
2014/03/20 职场文书
高中美术教师事迹材料
2014/08/22 职场文书
入党转正申请报告
2015/05/15 职场文书
党内外群众意见范文
2015/06/02 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
民事调解协议书
2016/03/21 职场文书
Python几种酷炫的进度条的方式
2022/04/11 Python