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爬虫框架Scrapy安装使用步骤
Apr 01 Python
Python中为feedparser设置超时时间避免堵塞
Sep 28 Python
Python中使用Flask、MongoDB搭建简易图片服务器
Feb 04 Python
python使用正则表达式匹配字符串开头并打印示例
Jan 11 Python
Python实现完整的事务操作示例
Jun 20 Python
Python利用递归和walk()遍历目录文件的方法示例
Jul 14 Python
Python生成8位随机字符串的方法分析
Dec 05 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
Dec 14 Python
python之pandas用法大全
Mar 13 Python
使用python实现多维数据降维操作
Feb 24 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
Jun 29 Python
基于Python实现体育彩票选号器功能代码实例
Sep 16 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
谈谈PHP的输入输出流
2007/02/14 PHP
php创建多级目录代码
2008/06/05 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
php魔术变量用法实例详解
2014/11/13 PHP
php 利用array_slice函数获取随机数组或前几条数据
2015/09/30 PHP
对PHP依赖注入的理解实例分析
2016/10/09 PHP
详解Yii2.0 rules验证规则集合
2017/03/21 PHP
关于php unset对json_encode的影响详解
2018/11/14 PHP
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
2011/11/04 Javascript
datagrid框架的删除添加与修改
2013/04/08 Javascript
JavaScript设置IFrame高度自适应(兼容各主流浏览器)
2013/06/05 Javascript
JS实现上下左右对称的九九乘法表
2016/02/22 Javascript
ES6学习之变量的解构赋值
2017/02/12 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
详解vue-cli 脚手架 安装
2019/04/16 Javascript
js的继承方法小结(prototype、call、apply)(推荐)
2019/04/17 Javascript
vue实现滑动切换效果(仅在手机模式下可用)
2020/06/29 Javascript
python 切片和range()用法说明
2013/03/24 Python
手把手教你如何安装Pycharm(详细图文教程)
2018/11/28 Python
python中count函数简单的实例讲解
2020/02/06 Python
Python如何把多个PDF文件合并代码实例
2020/02/13 Python
解决json中ensure_ascii=False的问题
2020/04/03 Python
python如何删除文件、目录
2020/06/23 Python
Python学习之time模块的基本使用
2021/01/17 Python
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
西班牙伏林航空公司:Vueling
2016/08/05 全球购物
计算机大学生的自我评价
2013/10/15 职场文书
外贸业务员求职信范文
2013/12/12 职场文书
职业规划实施方案
2014/06/10 职场文书
会计专业自荐书
2014/07/08 职场文书
学校安全责任书范本
2014/07/23 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
政协委员个人总结
2015/03/03 职场文书
护士旷工检讨书
2015/08/15 职场文书
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript