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 相关文章推荐
Windows上使用virtualenv搭建Python+Flask开发环境
Jun 07 Python
通过5个知识点轻松搞定Python的作用域
Sep 09 Python
Python中turtle作图示例
Nov 15 Python
matplotlib 纵坐标轴显示数据值的实例
May 25 Python
tensor和numpy的互相转换的实现示例
Aug 02 Python
pandas 空数据处理方法详解
Nov 02 Python
浅谈Python的方法解析顺序(MRO)
Mar 05 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 Python
手把手教你配置JupyterLab 环境的实现
Feb 02 Python
在pyCharm中下载第三方库的方法
Apr 18 Python
python 实现的截屏工具
May 08 Python
Python如何加载模型并查看网络
Jul 15 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
国内咖啡文化
2021/03/03 咖啡文化
php后台程序与Javascript的两种交互方式
2009/10/25 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
JS不间断向上滚动效果代码
2013/12/25 Javascript
常用javascript表单验证汇总
2020/07/20 Javascript
Jquery 全选反选实例代码
2015/11/19 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
webpack引入eslint配置详解
2018/01/22 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
从零使用TypeScript开发项目打包发布到npm
2020/02/14 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
python实现进程间通信简单实例
2014/07/23 Python
浅谈python对象数据的读写权限
2016/09/12 Python
python简单图片操作:打开\显示\保存图像方法介绍
2017/11/23 Python
详解Python核心编程中的浅拷贝与深拷贝
2018/01/07 Python
python list删除元素时要注意的坑点分享
2018/04/18 Python
python调用百度语音REST API
2018/08/30 Python
python实现录音小程序
2020/10/26 Python
Python实现FM算法解析
2019/06/18 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
python针对Oracle常见查询操作实例分析
2020/04/30 Python
Python更换pip源方法过程解析
2020/05/19 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
基于python判断字符串括号是否闭合{}[]()
2020/09/21 Python
详解python中的异常捕获
2020/12/15 Python
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
我的珠宝盒:Ma boîte à bijoux
2019/08/27 全球购物
2014年国庆节演讲稿
2014/09/19 职场文书
清明节扫墓活动总结
2015/02/09 职场文书
会计继续教育培训心得体会
2016/01/19 职场文书