python 中有很多内置库可以帮忙用来删除文件夹和文件,当面对要删除多个非空文件夹,并且目录层次大于3层以上时,仅使用一种内置方法是无法达到彻底删除文件夹和文件的效果的,比较low的方式是多次调用直到删除。但是,我们可以结合多个内置库函数,达到一次删除非空文件夹,不管其目录层次有多深。

import os

import shutil

import traceback

import globalvar

def misc_init()

# clean the test result folder

# get the current path

current_path = os.path.split(os.path.realpath(__file__))[0]

# some folder not delete

except_folders = globalvar.Except_Folders

# get the folder uder current path

current_filelist = os.listdir(current_path)

for f in current_filelist:

# f should be a absolute path, if python is not run on current path

if os.path.isdir(os.path.join(current_path,f)):

if f in except_folders:

continue

else:

real_folder_path = os.path.join(current_path, f)

try:

for root, dirs, files in os.walk(real_folder_path):

for name in files:

# delete the log and test result

del_file = os.path.join(root, name)

os.remove(del_file)

logger.info('remove file[%s] successfully' % del_file)

shutil.rmtree(real_folder_path)

logger.info('remove foler[%s] successfully' % real_folder_path)

except Exception, e:

traceback.print_exc()

主要步骤:

1、利用os.listdir列出当前路径下的文件夹,根据需要可以跳过不想删除的文件夹

2、利用os.walk可以递归遍历当前路径文件夹内的文件,利用os.remove删除掉文件

3、使用shutil.retree递归删除掉这些空文件夹

注意:思想是先删除掉文件目录树下的所有文件,然后在递归删除掉空文件夹。globalvar是自定义的全局变量文件,非python库

python的文件怎么删除干净_python 实现彻底删除文件夹和文件夹下的文件相关推荐

  1. python创建和删除文件有什么区别_python创建和删除文件

    #!/usr/bin/python #-*-coding:utf-8-*- #指定编码格式,python默认unicode编码 import os directory = "./dir&qu ...

  2. python从txt拿取数据_python requests + xpath 获取分页详情页数据存入到txt文件中

    直接代码,如有不懂请加群讨论 # *-* coding:utf-8 *-* # import json import requests import pytesseract import time i ...

  3. MySql完全删除干净的方法(删除不干净导致安装服务端的时候启动服务这个步骤卡死)

    MySql卸载重新安装出现Start service没有响应的解决办法(64位) 昨天因为自己手欠,不小心把mysql卸载了,于是又得重新安装,但是每次到了最后一步就报没有响应,于是就去寻找解决办法, ...

  4. debian 文件夹中文件大小_Linux下查看文件和文件夹大小 删除日志

    场景:在sts中执行自动部署时候maven提示No space left on device错误,后来经检查发现是磁盘空间满了,用下面的方法分析发现tomcat下面的logs目录占用了很大的空间,删除 ...

  5. lua linux获取文件夹,Linux:删除目录下的文件的10种方法

    删除当前目录下的文件 1.rm -f * #最经典的方法,删除当前目录下的所有类型的文件 2.find . -type f -delete或find . -type f -exec rm -f {} ...

  6. 如何在ftp服务器下查找文件夹,查找ftp服务器下的文件夹名

    查找ftp服务器下的文件夹名 内容精选 换一换 Linux x86-64(64位)服务器,常见的有EulerOS.Ubuntu.Debian.CentOS.OpenSUSE等.Windows 7及以上 ...

  7. ftp 服务器新建文件夹,ftp服务器路径下新建文件夹

    ftp服务器路径下新建文件夹 内容精选 换一换 单击"源码迁移"后面的,打开如图1所示界面,参数描述如表1所示.配置参数后单击"开始分析".以下内容中的&quo ...

  8. windows 技术篇 - cmd命令查看当前目录下的所有文件和文件夹以及所有子目录下的文件,dir命令的使用方法

    dir /b 可以查看当前路径下的所有文件和文件夹. dir /b /s 可以查看当前路径下的所有文件和文件夹以及子目录下的文件. 这是目录,直接在路径里输入 cmd 回车可以进入 cmd 的该路径下 ...

  9. python创建和删除文件有什么区别_python创建与删除临时文件夹的例子

    本节主要内容: python创建与删除临时文件夹. 1,python创建文件夹 代码示例: import tempfile, os tempfd, tempname = tempfile.mkstem ...

最新文章

  1. 2020人工神经网络第一次作业-参考答案第十部分-第三小题
  2. nodejs-stream部分
  3. 中国人民大学_《组织行为学》_17.节点人物
  4. 学习android操作系统,学习Android手机操作系统笔记总结
  5. python窗口显示表格_Python爬虫之GUI图表
  6. [Leedcode][JAVA][第42题][动态规划][双指针][栈]
  7. ImportError: cannot import name *
  8. 1.Linux 程序设计入门
  9. XML可扩展语言的发展
  10. MySQL ( Ubuntu16.04 )
  11. VTD的官方help翻译-ROD部分(10~15章)
  12. 2022低压电工考试题库模拟考试平台操作
  13. 消除IBM P750小机上的黄色报警灯
  14. Gmail配置邮箱客户端
  15. 苹果电脑mysql安装流程_mac系统下安装mysql步骤
  16. 三、Redis在SpringBoot中使用案例
  17. 十五数码难题 A*算法及深度优先算法实现
  18. JSP设置Excel表格换行_外企大公司的 Excel 表格,都是这样设置隐藏的
  19. java中if(a.c())_if 语句中的条件语句只能是() 类型。_学小易找答案
  20. 如何使用Google Voice接收验证码?

热门文章

  1. linux终端下如何分屏,ubuntu terminal 终端分屏
  2. .net6智能提示设置为中文
  3. 智能运动鞋方案/案列/APP/小程序/网站
  4. python的flask框架显示柱状图_使用Python的Flask框架,结合Highchart,动态渲染图表...
  5. np.nan np.NAN np.NaN
  6. 计算机技术应用节课,矢志不渝追求卓越,上好每一节课—记滁州应用技术学校黄鹂...
  7. 【ROM制作工具】小白轻松一键搞定纯净ROM刷机包
  8. 计算机多核启动原理,多核cpu工作原理 不进来看看?
  9. [R语言] WGCNA入门教程
  10. 13个可以为网站创建360度全景视图的工具