python递归删除目录本身以及目录下文件

import  os 

def local_rm(dirpath):
    if os.path.exists(dirpath):
        files = os.listdir(dirpath)
        for file in files:
            filepath = os.path.join(dirpath, file).replace("\\",‘/‘)
            if os.path.isdir(filepath):
                local_rm(filepath)
            else:
                os.remove(filepath)
        os.rmdir(dirpath)

#第二种
import shutil
shutl.rmtree(dir_path)

总结:二者均是删除目录以及目录本身

原文地址:https://www.cnblogs.com/SunshineKimi/p/12367519.html

时间: 2024-11-17 08:23:55

python递归删除目录本身以及目录下文件的相关文章

Python实例31[批量对目录下文件重命名]

经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名:例如: 修改前:[大家网]Mac OS X for Unix Geeks[www.TopSage.com].mobi修改后:Mac OS X for Unix Geeks.mobi python代码如下 import osimport re def rename_dir(dir,regex,f):  if not os.path.isdir(dir) or

目录下文件递归查找

python 使用yield实现目录下文件的递归查找(windows & linux通用) 转载自:https://www.cnblogs.com/weiok/p/4872119.html import os import fnmatch def iterfindfiles(path, fnexp): for root, dirs, files in os.walk(path): for filename in fnmatch.filter(files, fnexp): yield os.pat

采用递归方式查询某目录下的所有文件

private void DirPathAll(string dirpath) { //本目录下的文件 var paths = Directory.GetFiles(dirpath); foreach (var path in paths) { Application.DoEvents(); listBox1.Items.Add(path); } //所有子目录下的文件 var files = Directory.GetDirectories(dirpath); //获取所有子目录 foreac

python生成器 获取 目录下文件

# os.walk()和os.list 都是得到所有文件的列表, 如果目录下文件特别多, 上亿了, 我们就需要生成器的方式获取 # 要求目录下面没有目录, 会递归到子目录下面找文件, (如果有子目录可以在下面代码基础上做修改) def gen_file(path, per_file_count): # 目录和一次想要回去的文件数量 i = 0 scandir_it = scandir(path) # 递归获取目录下文件, 返回迭代器 while True: try: entry = next(s

使用windows API函数获取目录下所有文件名---目录下文件的扫描和处理

直接上代码 // test_max.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h> #include <Shlwapi.h> #include <iostream> #include <string> #include <vector> #pragma comment(lib,"shlwapi.lib") //注意放置的位置

多线程的对比与案例(计算目录下文件的大小)

本人使用的是mac 所以有usr目录.把以下的几种情况分别贴出来给大家分析下各自有什么优缺点! 1.顺序计算目录大小code: package jvm; import java.io.File; /** * 第一版 * 顺序计算目录大小 * @author zeuskingzb * */ public class TotalFileSizeSequential { private long getTotalSizeOfFilesInDir(File file){ if (file.isFile(

linux 系统统计目录下文件夹的大小

du -ah --max-depth=1     这个是我想要的结果  a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度. du命令用来查看目录或文件所占用磁盘空间的大小.常用选项组合为:du -sh 一.du的功能:`du` reports the amount of disk space used by the specified files and for each subdirectory (of directory argum

JAVA递归删除目录及包含的全部文件

JAVA递归删除目录及包含的全部文件/** * 递归删除某一个目录 * @param objDir 目标目录文件 * @return 是否删除成功,true为成功 */ public static boolean deleteDir(File objDir) { if (objDir.exists()) { File[] dirs = objDir.listFiles(); for (int i = 0; i < dirs.length; i++) { if (dirs[i].isDirecto

Java递归删除目录中的子目录和文件的方法

一般我们在项目中保存文件时,是把目录的信息存放在一个表中,把文件信息存放在另一个表中. 当我们需要删除指定目录时,首先需要删除的是数据库中的目录和子目录的所有信息,然后删除文件信息,最后是是删除创建的文件目录,如果有子目录,则需要使用递归删除,即: 业务逻辑层中删除指定目录中的子目录和文件的流程 //删除数据库中的目录信息 catalogueDAO.deletecat(dir); //删除数据库中的文件信息 fileDAO.deleteFile(dir); //使用递归删除函数deleteDir