递归删除指定路径下的空目录

递归删除指定路径下的空目录:

注:
如第一级目录要保留

vi a1.py

#!/usr/bin/python

import os

dir="/root/python"

os.chdir(dir)

for f in os.listdir(dir):
if os.path.isdir(f):
p = open(‘/root/python/logs/py.log‘,‘a‘)
p.write(os.path.join(dir,f)+"\n")
p.close()

g = open(‘/root/python/logs/py.log‘,‘r‘)
for i in g.readlines():
g.close()
f = i.strip()
os.chdir(f)
for root,dirs,files in os.walk(‘.‘):
for j in dirs:
if not os.listdir(os.path.join(root,j)):
print(os.path.join(root,j))
os.removedirs(os.path.join(root,j))

:wq

python a1.py

原文地址:http://blog.51cto.com/yangzhiming/2128830

时间: 2024-10-09 01:06:17

递归删除指定路径下的空目录的相关文章

删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件

1 @echo off 2 ::删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件. 3 ::本例需要Win2003/Vista/Win7系统自带的forfiles命令的支持 4 rem 指定待删除文件的存放路径 5 set SrcDir=D:\ajaxtrain\web 6 rem 指定天数 7 set DaysAgo=0 8 rem 要删除的文件通配 9 set searchmast=*.html 10 set filename=D:\ajaxtrain\web\deletefil

C#递归读取指定路径下的所有文件并保存至TreeView

1.代码如下: /// <summary> /// 递归读取指定路径下的所有文件信息 /// </summary> /// <param name="path"></param> /// <param name="node"></param> private void DIGuiGetFile(string path, TreeNode node) { if (!Directory.Exists

Windows 定时删除指定路径下N天前的日志文件

Windows 下bat脚本文件的内容为 1. 删除指定路径下5天前的所有文件 . @echo off set SrcDir=E:\WORK\Git set DaysAgo=5 forfiles /p %SrcDir% /s /m *.*/d -%DaysAgo% /c "cmd /c del /f /q /a @path" 2.删除指定路径下5天前的所有log文件 @echo off set SrcDir=E:\WORK\Git //指定的路径 :5天前 set DaysAgo=5 

删除指定路径下固定格式,以.log结尾、三天前的文件,或删除空的日志文件

师出‘百测’besttest 删除指定路径下固定格式,以.log结尾.三天前的文件,或删除空的日志文件. 日志文件格式:XXXX_2019-01-01.log. import os,datetime #判断文件是否为空,如果为空则删除 def del_file(file): with open(file,encoding='utf-8') as f: if f.read(): pass else: f.close() os.remove(file) #查找指定路径下xx结尾的文件 def sea

Java递归输出指定路径下所有文件及文件夹

package a.ab; import java.io.File; import java.io.IOException; public class AE { public static void main(String[] args) { File f=new File("D:\\DD"); new AE().fileList(f); } public void fileList(File fl){ try{ File[] fs=fl.listFiles(); for(File f

个人笔记:PHP递归删除指定目录下的文件和目录

function DelDir($path){ //给定的目录不是一个文件夹 if(!is_dir($path)){ return null; } // 1 打开目录 $dir =opendir($path); // 去除. 和.. while ($filename =readdir($dir)) { if ($filename =='.' || $filename == '..') { continue; } // 拼接完整路径,不拼接会到当前路径下找 $filepath =$path.'/'

[代码应用]javaSE程序递归删除文件夹下的.bak文件程序源代码

本文地址:http://blog.csdn.net/sushengmiyan/article/details/39158939 本文作者:sushengmiyan ------------------------------------------------------------------------------------------------------------------------------------ 现在写js代码就习惯使用editplus来写代码,但是每次都是会自动生

Java版本的删除指定目录下名叫“xxx.txt”文件名的文件

以前写过一个python版本的,但是在查找文件路径的时候出现错误,无法正确的获取到文件的路径,就造成无法删除该路径下的“xxx.txt”文件. 当时以为是windows版本系统的错误造成这个问题的,也就没有继续深究,就把这个bug给放过了. 最近一段时间在学习android,肯定要用的java了,就用java实现了下,思路的话,肯定还是以前的了,结果还是出错,后来仔细的看了看代码,其实是自己的bug. 把代码贴下:(主要功能,删除指定目录下名叫"pylist.txt"的所有文件,使用递

删除指定目录下的指定后缀文件

1 package org.zln.module1.demo1; 2 3 import org.apache.log4j.Logger; 4 5 import java.io.File; 6 7 /** 8 * 删除指定根目录下,及其子目录中,指定后缀的文件 9 * Created by coolkid on 2015/6/13 0013. 10 */ 11 12 public class DeleteSuffix { 13 /*默认待删除文件后缀*/ 14 private static fin