python2.7删除文件夹和删除文件代码实例


Posted in Python onDecember 18, 2013
#!c:\python27\python.exe
# -*- coding: utf-8 -*-
import os
import re
from os import path
from shutil import rmtree
DEL_DIRS = None
DEL_FILES = r'(.+?\.pyc$|.+?\.pyo$|.+?\.log$)'
def del_dir(p):
    """Delete a directory."""
    if path.isdir(p):
        rmtree(p)
        print('D : %s' % p)
def del_file(p):
    """Delete a file."""
    if path.isfile(p):
        os.remove(p)
        print('F : %s' % p)
def gen_deletions(directory, del_dirs=DEL_DIRS, del_files=DEL_FILES):
    """Generate deletions."""
    patt_dirs = None if del_dirs == None else re.compile(del_dirs)
    patt_files = None if del_files == None else re.compile(del_files)
    for root, dirs, files in os.walk(directory):
        if patt_dirs:
            for d in dirs:
                if patt_dirs.match(d):
                    yield path.join(root, d)
        if patt_files:
            for f in files:
                 if patt_files.match(f):
                    yield path.join(root, f)
def confirm_deletions(directory):
    import Tkinter
    import tkMessageBox
    root = Tkinter.Tk()
    root.withdraw()
    res = tkMessageBox.askokcancel("Confirm deletions?",
        "Do you really wish to delete?\n\n"
        "Working directory:\n%s\n\n"
        "Delete conditions:\n(D)%s\n(F)%s"
        % (directory, DEL_DIRS, DEL_FILES))
    if res:
        print('Processing...')
        m, n = 0, 0
        for p in gen_deletions(directory):
            if path.isdir(p):
                del_dir(p)
                m += 1
            elif path.isfile(p):
                del_file(p)
                n += 1
        print('Clean %d dirs and %d files.' % (m, n))
        root.destroy()
    else:
        print('Canceled.')
        root.destroy()
    root.mainloop()
if __name__ == '__main__':
    import sys
    argv = sys.argv
    directory = argv[1] if len(argv) >= 2 else os.getcwd()
    confirm_deletions(directory)
    # import subprocess
    # subprocess.call("pause", shell=True)
Python 相关文章推荐
python实现倒计时的示例
Feb 14 Python
python实现的udp协议Server和Client代码实例
Jun 04 Python
python检测远程服务器tcp端口的方法
Mar 14 Python
Python 多线程Threading初学教程
Aug 22 Python
Python3.5多进程原理与用法实例分析
Apr 05 Python
python的pygal模块绘制反正切函数图像方法
Jul 16 Python
python基础 range的用法解析
Aug 23 Python
flask框架渲染Jinja模板与传入模板变量操作详解
Jan 25 Python
python可视化text()函数使用详解
Feb 11 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
Apr 20 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
Oct 27 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
Jan 06 Python
python使用xmlrpc实例讲解
Dec 17 #Python
python三元运算符实现方法
Dec 17 #Python
用python写asp详细讲解
Dec 16 #Python
python模块restful使用方法实例
Dec 10 #Python
python解析模块(ConfigParser)使用方法
Dec 10 #Python
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
Dec 08 #Python
python socket网络编程步骤详解(socket套接字使用)
Dec 06 #Python
You might like
php 获取可变函数参数的函数
2009/08/26 PHP
一个简单的php MVC留言本实例代码(必看篇)
2016/09/22 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
使用js实现的简单拖拽效果
2015/03/18 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
vue环形进度条组件实例应用
2018/10/10 Javascript
vue移动端html5页面根据屏幕适配的四种解决方法
2018/10/19 Javascript
layer弹出层扩展主题的方法
2019/09/11 Javascript
vue输入框使用模糊搜索功能的实现代码
2020/05/26 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
2020/09/11 Javascript
[09:31]2016国际邀请赛中国区预选赛Yao赛后采访 答题送礼
2016/06/27 DOTA
[03:42]2018完美盛典-《加冕》
2018/12/16 DOTA
python使用fileinput模块实现逐行读取文件的方法
2015/04/29 Python
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
Pycharm编辑器技巧之自动导入模块详解
2017/07/18 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
CSS3 :not()选择器实现最后一行li去除某种css样式
2016/10/19 HTML / CSS
美国知名运动产品零售商:Foot Locker
2016/07/23 全球购物
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
几个Linux面试题笔试题
2016/08/01 面试题
电大自我鉴定
2013/10/27 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
安全员岗位职责范本
2015/04/11 职场文书
银行催款通知书
2015/04/17 职场文书
升学宴来宾致辞
2015/07/27 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
mysql 排序失效
2022/05/20 MySQL