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获取mp3文件信息的方法
Jun 15 Python
Python pass详细介绍及实例代码
Nov 24 Python
Python md5与sha1加密算法用法分析
Jul 14 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
Nov 21 Python
matplotlib绘制动画代码示例
Jan 02 Python
numpy.transpose对三维数组的转置方法
Apr 17 Python
Python读写及备份oracle数据库操作示例
May 17 Python
python实现将读入的多维list转为一维list的方法
Jun 28 Python
numpy求平均值的维度设定的例子
Aug 24 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
Jan 07 Python
python网络编程:socketserver的基本使用方法实例分析
Apr 09 Python
学习python需要有编程基础吗
Jun 02 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管理依赖(dependency)关系工具 Composer的自动加载(autoload)
2014/08/18 PHP
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
IE JS无提示关闭窗口不提示的方法
2010/04/29 Javascript
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
2014/06/14 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
Node.js操作mysql数据库增删改查
2016/03/30 Javascript
jquery中用jsonp实现搜索框功能
2016/10/18 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
浅谈KOA2 Restful方式路由初探
2019/03/14 Javascript
利用es6 new.target来对模拟抽象类的方法
2019/05/10 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
2019/09/26 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
[02:52]2014DOTA2西雅图国际邀请赛 CIS战队巡礼
2014/07/07 DOTA
王纯业的Python学习笔记 下载
2007/02/10 Python
python3 实现的人人影视网站自动签到
2016/06/19 Python
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
django2 快速安装指南分享
2018/01/05 Python
django的登录注册系统的示例代码
2018/05/14 Python
python获取代码运行时间的实例代码
2018/06/11 Python
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
C++的几个面试题附答案
2016/08/03 面试题
母亲节演讲稿范文
2014/01/02 职场文书
计算机毕业生自荐信范文
2014/03/23 职场文书
英文自荐信常用句子
2014/03/26 职场文书
积极向上的团队口号
2014/06/06 职场文书
美国旅游签证工作证明
2014/10/14 职场文书
基石观后感
2015/06/12 职场文书
小学校本教研总结
2015/08/13 职场文书
《分数乘法》教学反思
2016/02/24 职场文书
学校2016年圣诞节活动总结
2016/03/31 职场文书
Python数据可视化之绘制柱状图和条形图
2021/05/25 Python
mysql联合索引的使用规则
2021/06/23 MySQL