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 相关文章推荐
通过数据库对Django进行删除字段和删除模型的操作
Jul 21 Python
利用python获取当前日期前后N天或N月日期的方法示例
Jul 30 Python
python实现用户管理系统
Jan 10 Python
python多线程之事件Event的使用详解
Apr 27 Python
python3 cvs将数据读取为字典的方法
Dec 22 Python
浅谈python的输入输出,注释,基本数据类型
Apr 02 Python
python绘制地震散点图
Jun 18 Python
Python和Anaconda和Pycharm安装教程图文详解
Feb 04 Python
tensorboard显示空白的解决
Feb 15 Python
Python如何合并多个字典或映射
Jul 24 Python
python爬虫今日热榜数据到txt文件的源码
Feb 23 Python
Python 实现定积分与二重定积分的操作
May 26 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倒计时出现-0情况的解决方法
2016/07/28 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
一个报数游戏js版(约瑟夫环问题)
2010/08/05 Javascript
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
jquery单行文字向上滚动效果的实现代码
2014/09/05 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
2018/04/23 jQuery
详解Angular操作cookies方法
2018/06/01 Javascript
vue element upload组件 file-list的动态绑定实现
2019/10/11 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
使用Python中PDB模块中的命令来调试Python代码的教程
2015/03/30 Python
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
对python遍历文件夹中的所有jpg文件的实例详解
2018/12/08 Python
浅谈python编译pyc工程--导包问题解决
2019/03/20 Python
python函数中将变量名转换成字符串实例
2020/05/11 Python
python设置表格边框的具体方法
2020/07/17 Python
matplotlib教程——强大的python作图工具库
2020/10/15 Python
五款漂亮的纯CSS3动画按钮的实例教程
2014/11/21 HTML / CSS
英国IT硬件供应商,定制游戏PC:Mesh Computers
2019/03/28 全球购物
证婚人经典证婚词
2014/01/09 职场文书
《威尼斯的小艇》教学反思
2014/02/17 职场文书
励志演讲稿大全
2014/08/21 职场文书
2015年高校就业工作总结
2015/05/04 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
刑事附带民事代理词
2015/05/25 职场文书
2016特色励志班级口号
2015/12/24 职场文书