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 的 Socket 编程
Mar 24 Python
深度定制Python的Flask框架开发环境的一些技巧总结
Jul 12 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
Dec 14 Python
用Python实现KNN分类算法
Dec 22 Python
Python编程深度学习计算库之numpy
Dec 28 Python
Python测试Kafka集群(pykafka)实例
Dec 23 Python
python应用Axes3D绘图(批量梯度下降算法)
Mar 25 Python
python中查看.db文件中表格的名字及表格中的字段操作
Jul 07 Python
多个版本的python共存时使用pip的正确做法
Oct 26 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
Oct 30 Python
Python使用mitmproxy工具监控手机 下载手机小视频
Apr 18 Python
Python简易开发之制作计算器
Apr 28 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中把美国时间转为北京时间的自定义函数分享
2014/07/28 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
浅谈php7的重大新特性
2015/10/23 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
PHP对象实例化单例方法
2017/01/19 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
2020/01/26 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
基于jquery实现控制经纬度显示地图与卫星
2013/05/20 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
关于axios返回空对象的问题解决
2017/04/04 Javascript
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
vuex操作state对象的实例代码
2018/04/25 Javascript
详解Vue前端对axios的封装和使用
2019/04/01 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
Element DateTimePicker日期时间选择器的使用示例
2020/07/27 Javascript
python定时检查启动某个exe程序适合检测exe是否挂了
2013/01/21 Python
python读取浮点数和读取文本文件示例
2014/05/06 Python
python使用xlrd与xlwt对excel的读写和格式设定
2017/01/21 Python
python放大图片和画方格实现算法
2018/03/30 Python
python3使用pandas获取股票数据的方法
2018/12/22 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
jupyter实现重新加载模块
2020/04/16 Python
python requests.get带header
2020/05/05 Python
python语言是免费还是收费的?
2020/06/15 Python
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
2014年教师节活动总结
2014/08/29 职场文书
小学生暑假生活总结
2015/07/13 职场文书
2016年暑期教师培训心得体会
2016/01/09 职场文书
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
2021/06/09 Python
python异常中else的实例用法
2021/06/15 Python
Win11远程连接不上怎么办?Win11远程桌面用不了的解决方法
2022/08/05 数码科技