• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python中使用glob和rmtree删除目录子目录及所有文件的例子

Python中使用glob和rmtree删除目录子目录及所有文件的例子

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python glob,python glob.glob,python中glob,python模块glob,python glob参数等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、batch与shell中

目录及文件:
C:\TESTFOLDER\TEST
├─Test2
└─Test3
        test.txt
</div>

删除目录及其下的所有文件:
rmdir /S /Q c:\TestFolder\test
</div>

删除所有目录下的文件,但是目录结构不能被删除:
del /F /S /Q c:\TestFolder\test\*
</div>

Linux类似的命令为:
rm /rf /home/aaa/test
</div>

二、python中

:注意如果有错误会有异常抛出,需要处理异常。

1)删除文件且不支持通配符: os.remove()
2) 删除空的目录: os.rmdir()
3) 删除空的目录及子目录: os.removedirs()
3) 删除目录及其子目录中的文件:shutil.rmtree()

rmtree+异常处理:

#code:
import shutil
def retreeExceptionHandler(fun,path,excinfo):
  print("Error:" + path)
  print(excinfo[1])
 
shutil.rmtree('c:\\testfolder\\test',ignore_errors=False,onerror=retreeExceptionHandler)
 
#result:
Error:c:\testfolder\test\Test3
[Error 32] The process cannot access the file because it is being used by another process: 'c:\\testfolder\\test\\Test3'
Error:c:\testfolder\test
[Error 145] The directory is not empty: 'c:\\testfolder\\test'
</div>

使用rmdir和remove等价于rmtree:

#! /usr/bin/env python 
#coding=utf-8 
## {{{ Recipe 193736 (r1): Clean up a directory tree  
""" removeall.py:
 
   Clean up a directory tree from root.
   The directory need not be empty.
   The starting directory is not deleted.
   Written by: Anand B Pillai <abpillai@lycos.com> """ 
 
import sys, os 
 
ERROR_STR= """Error removing %(path)s, %(error)s """ 
 
def rmgeneric(path, __func__): 
 
    try: 
        __func__(path) 
        print 'Removed ', path 
    except OSError, (errno, strerror): 
        print ERROR_STR % {'path' : path, 'error': strerror } 
             
def removeall(path): 
 
    if not os.path.isdir(path): 
        return 
     
    files=os.listdir(path) 
 
    for x in files: 
        fullpath=os.path.join(path, x) 
        if os.path.isfile(fullpath): 
            f=os.remove 
            rmgeneric(fullpath, f) 
        elif os.path.isdir(fullpath): 
            removeall(fullpath) 
            f=os.rmdir 
            rmgeneric(fullpath, f)
## End of recipe 193736 }}}
</div>

三、通配符

glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索,支持通配符操作,*,?,[]这三个通配符,*代表0个或多个字符,?代表一个字符,[]匹配指定范围内的字符,如[0-9]匹配数字。

它的主要方法就是glob,该方法返回所有匹配的文件路径列表,该方法需要一个参数用来指定匹配的路径字符串(本字符串可以为绝对路径也可以为相对路径),其返回的文件名只包括当前目录里的文件名,不包括子文件夹里的文件。

</div>

您可能想查找下面的文章:

  • python条件变量之生产者与消费者操作实例分析
  • python条件变量之生产者与消费者操作实例分析
  • 深入理解Python中变量赋值的问题
  • 深入理解Python中变量赋值的问题
  • 简单掌握Python中glob模块查找文件路径的用法
  • 简单掌握Python中glob模块查找文件路径的用法
  • Python中使用glob和rmtree删除目录子目录及所有文件的例子
  • Python标准库os.path包、glob包使用实例
  • Python中使用glob和rmtree删除目录子目录及所有文件的例子
  • Python判断变量是否已经定义的方法

相关文章

  • Python3中多线程编程的队列运作示例
  • Python实现列表转换成字典数据结构的方法
  • Python实现字符串格式化的方法小结
  • python动态网页批量爬取
  • Python模块学习 filecmp 文件比较
  • python计算最大优先级队列实例
  • Python字符和字符值(ASCII或Unicode码值)转换方法
  • Python设计模式之单例模式实例
  • 利用matplotlib+numpy绘制多种绘图的方法实例
  • python使用socket连接远程服务器的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 用python实现的可以拷贝或剪切一个文件列表中的所有文件
    • 双向RNN:bidirectional_dynamic_rnn()函数的使用详解
    • Python群发邮件实例代码
    • Python中使用urllib2防止302跳转的代码例子
    • python实现socket客户端和服务端简单示例
    • 简介二分查找算法与相关的Python实现示例
    • python时间整形转标准格式的示例分享
    • Python中getattr函数和hasattr函数作用详解
    • Python外星人入侵游戏编程完整版
    • Windows系统配置python脚本开机启动的3种方法分享

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有