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选择排序算法的实现代码
Nov 21 Python
Java Web开发过程中登陆模块的验证码的实现方式总结
May 25 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
Jul 10 Python
Python 生成 -1~1 之间的随机数矩阵方法
Aug 04 Python
python3 实现的对象与json相互转换操作示例
Aug 17 Python
Python使用enumerate获取迭代元素下标
Feb 03 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
Feb 20 Python
python 元组的使用方法
Jun 09 Python
Python 如何对文件目录操作
Jul 10 Python
运行python提示no module named sklearn的解决方法
Nov 29 Python
如何用python爬取微博热搜数据并保存
Feb 20 Python
利用Pycharm连接服务器的全过程记录
Jul 01 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.MVC的模板标签系统(一)
2006/09/05 PHP
最省空间的计数器
2006/10/09 PHP
namespace.js Javascript的命名空间库
2011/10/11 Javascript
网站404页面3秒后跳到首页的实例代码
2013/08/16 Javascript
js this函数调用无需再次抓获id,name或标签名
2014/03/03 Javascript
JS实现div居中示例
2014/04/17 Javascript
JavaScript中的console.log()函数详细介绍
2014/12/29 Javascript
JavaScript设计模式学习之“类式继承”
2015/03/12 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
Bootstrap Navbar Component实现响应式导航
2016/10/08 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
2016/10/13 Javascript
微信小程序 商城开发(ecshop )简单实例
2017/04/07 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
通过微信公众平台获取公众号文章的方法示例
2019/12/25 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
使用pyecharts无法import Bar的解决方案
2020/04/23 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
在vscode中配置python环境过程解析
2019/09/28 Python
win10安装python3.6的常见问题
2020/07/01 Python
Python 操作 MySQL数据库
2020/09/18 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
2020/09/28 Python
HTML5之SVG 2D入门3—文本与图像及渲染文本介绍
2013/01/30 HTML / CSS
美国嘻哈文化生活方式品牌:GLD
2018/04/15 全球购物
Koral官方网站:女性时尚运动服
2019/04/10 全球购物
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
写自荐信有哪些不宜?
2013/10/17 职场文书
军训心得体会
2013/12/31 职场文书
餐饮加盟计划书
2014/01/10 职场文书
毕业生个人求职自荐信
2014/02/26 职场文书
小学二年级学生评语
2014/04/21 职场文书
奥运会口号
2014/06/13 职场文书