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制作简易注册登录系统
Dec 15 Python
浅谈Python由__dict__和dir()引发的一些思考
Oct 30 Python
TensorFlow中权重的随机初始化的方法
Feb 11 Python
python实现C4.5决策树算法
Aug 29 Python
Python 操作 ElasticSearch的完整代码
Aug 04 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
Oct 18 Python
python超时重新请求解决方案
Oct 21 Python
Python super()方法原理详解
Mar 31 Python
python suds访问webservice服务实现
Jun 26 Python
浅析python 通⽤爬⾍和聚焦爬⾍
Sep 28 Python
python向企业微信发送文字和图片消息的示例
Sep 28 Python
python excel和yaml文件的读取封装
Jan 12 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字符串截取问题
2006/11/28 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
php实现给一张图片加上水印效果
2016/01/02 PHP
PHP简单预防sql注入的方法
2016/09/27 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
javascript入门·对象属性方法大总结
2007/10/01 Javascript
HTML node相关的一些资料整理
2010/01/01 Javascript
在Ajax中使用Flash实现跨域数据读取的实现方法
2010/12/02 Javascript
Javascript中定义方法的另类写法(批量定义js对象的方法)
2011/02/25 Javascript
游览器中javascript的执行过程(图文)
2012/05/20 Javascript
jQuery获取样式中的背景颜色属性值/颜色值
2012/12/17 Javascript
红米手机抢购的js代码
2014/03/10 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
JSON格式化输出
2014/11/10 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
Node.js操作mysql数据库增删改查
2016/03/30 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
关于jQuery中fade(),show()起始位置的一点小发现
2017/04/25 jQuery
bootstrap表单示例代码分享
2017/05/18 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
2017/11/08 jQuery
网页爬虫之cookie自动获取及过期自动更新的实现方法
2018/03/06 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
[37:23]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第二局
2016/03/04 DOTA
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
2019/06/25 Python
简单分析python的类变量、实例变量
2019/08/23 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
python爬虫实现获取下一页代码
2020/03/13 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
师范学院教师自荐书
2014/01/31 职场文书
机械系毕业生求职信
2014/05/28 职场文书