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 open读写文件实现脚本
Sep 06 Python
Python常用模块介绍
Nov 21 Python
python中__call__内置函数用法实例
Jun 04 Python
Python实现判断并移除列表指定位置元素的方法
Apr 13 Python
python opencv实现切变换 不裁减图片
Jul 26 Python
有关Python的22个编程技巧
Aug 29 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
Feb 13 Python
基于python的ini配置文件操作工具类
Apr 24 Python
Tensorflow模型实现预测或识别单张图片
Jul 19 Python
使用python实现时间序列白噪声检验方式
Jun 03 Python
python GUI模拟实现计算器
Jun 22 Python
python实现移动木板小游戏
Oct 09 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执行速度全攻略(上)
2006/10/09 PHP
php在页面中调用fckeditor编辑器的方法
2011/06/10 PHP
PHP中的按位与和按位或操作示例
2014/01/27 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
php有道翻译api调用方法实例
2014/12/22 PHP
php实现utf-8转unicode函数分享
2015/01/06 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
CI框架附属类用法分析
2018/12/26 PHP
jQuery多级弹出菜单插件ZoneMenu
2014/12/18 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
2015/12/31 Javascript
pc加载更多功能和移动端下拉刷新加载数据
2016/11/07 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
详解element-ui中el-select的默认选择项问题
2019/08/02 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
js实现上传图片并显示图片名称
2019/12/18 Javascript
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
理解Python中函数的参数
2015/04/27 Python
python中实现精确的浮点数运算详解
2017/11/02 Python
20个常用Python运维库和模块
2018/02/12 Python
将python文件打包成EXE应用程序的方法
2019/05/22 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
python如何使用代码运行助手
2020/07/03 Python
农业大学毕业生的个人自我评价
2013/10/11 职场文书
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
战友聚会邀请函
2014/01/18 职场文书
化学系大学生自荐信范文
2014/03/01 职场文书
爱心捐款倡议书范文
2014/05/12 职场文书
年度评优评先方案
2014/06/03 职场文书
我心目中的好老师活动方案
2014/08/19 职场文书
债务纠纷委托书
2014/08/30 职场文书
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android
angular异步验证器防抖实例详解
2022/03/31 Javascript
Redis数据同步之redis shake的实现方法
2022/04/21 Redis