python删除目录下的空文件夹
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python删除目录下的空文件夹相关的知识,希望对你有一定的参考价值。
import osdef del_emp_dir(path):
for (root, dirs, files) in os.walk(path):
for item in dirs:
dir = os.path.join(root, item)
try:
os.rmdir(dir) #os.rmdir() 方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError。
print(dir)
except Exception as e:
print(\'Exception\',e)
if __name__ == \'__main__\':
dir = r\'F:\\test\'
del_emp_dir(dir) 参考技术A 我的代码,可以参考一下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#@Time:2021/1/26
#@Author:yishion
import os
def del_emp_dir(dir_all):
del_succ = 0
for (root,dirs,files) in os.walk(dir_all):
for item in dirs:
dir_one = os.path.join(root,item)
try:
os.rmdir(dir_one)
print(dir_one)
del_succ = 1
except Exception as e:
temp = e
return del_succ
if __name__ == '__main__':
count = 1
emp = 1
while emp :
print('第',count,'次查找删除')
dir_now = os.getcwd()
emp = del_emp_dir(dir_now)
count = count + 1
else:
print('共执行',count - 1,'次查找删除')
python脚本文件删除
昨天有需求需要用python脚本删除一个目录下的文件。遇到了点麻烦。
使用的是shutil.rmtree(dir)函数,这个函数可以删除有内容的目录,而shutil.rmdir(dir)只能删除空目录。
1、一删除就报错,最后怀疑是账户权限问题,更改了账户的权限以后,可以删除部分文件了,但还是有文件不可以删除
2、在网上查到可能是因为文件属性的问题,果真删不掉的文件都是只读的。如果想删除这些文件需要先修改其属性。
shutil模块是没有类似函数的,于是自己仿照shutil.rmtree函数写了一个,在删除文件之前就先os.chmod(file, stat.S_IWRITE)一下就好啦。
记得是要import os, sys, stat 才行的。
python用的不多,不过一些权限问题确实折腾了一会儿才弄明白。
以上是关于python删除目录下的空文件夹的主要内容,如果未能解决你的问题,请参考以下文章