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快速排序代码实例
Nov 21 Python
Python多线程编程(四):使用Lock互斥锁
Apr 05 Python
Python实现生成随机数据插入mysql数据库的方法
Dec 25 Python
Python爬虫抓取代理IP并检验可用性的实例
May 07 Python
python看某个模块的版本方法
Oct 16 Python
python程序封装为win32服务的方法
Mar 07 Python
利用anaconda保证64位和32位的python共存
Mar 09 Python
python 有效的括号的实现代码示例
Nov 11 Python
详解python对象之间的交互
Sep 29 Python
python实现自动打卡的示例代码
Oct 10 Python
Python装饰器详细介绍
Mar 25 Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 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
咖啡的化学
2021/03/03 咖啡文化
PHP 5.0对象模型深度探索之绑定
2006/09/05 PHP
目录,文件操作详谈―PHP
2006/11/25 PHP
php快速排序原理与实现方法分析
2016/05/26 PHP
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
springMVC结合AjaxForm上传文件
2016/07/12 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
layui动态绑定事件的方法
2019/09/20 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
微信小程序实现上拉加载功能
2019/11/20 Javascript
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
js+css实现扇形导航效果
2020/08/18 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
[05:02]2014DOTA2 TI中国区预选赛精彩TOPPLAY第三弹
2014/06/25 DOTA
Python中IPYTHON入门实例
2015/05/11 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
2017/12/15 Python
python merge、concat合并数据集的实例讲解
2018/04/12 Python
Python实现App自动签到领取积分功能
2018/09/29 Python
Python一键安装全部依赖包的方法
2019/08/12 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
python如何实现读取并显示图片(不需要图形界面)
2020/07/08 Python
python3 中时间戳、时间、日期的转换和加减操作
2020/07/14 Python
python爬虫多次请求超时的几种重试方法(6种)
2020/12/01 Python
使用CSS3来制作消息提醒框
2015/07/12 HTML / CSS
Why we need EJB
2016/10/20 面试题
九寨沟导游词
2015/02/02 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
新闻稿格式范文
2015/07/18 职场文书
新郎婚礼致辞
2015/07/27 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
Django使用redis配置缓存的方法
2021/06/01 Redis
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL