递归删除python中的文件夹 [英] Deleting folders in python recursively
本文介绍了递归删除python中的文件夹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在删除空目录时遇到问题。这是我的代码:
I'm having a problem with deleting empty directories. Here is my code:
for dirpath, dirnames, filenames in os.walk(dir_to_search):
//other codes
try:
os.rmdir(dirpath)
except OSError as ex:
print(ex)
参数 dir_to_search
是我传递需要完成工作的目录的位置。该目录如下所示:
The argument dir_to_search
is where I'm passing the directory where the work needs to be done. That directory looks like this:
test/20/...
test/22/...
test/25/...
test/26/...
请注意,以上所有文件夹均为空。当我运行此脚本时,仅删除文件夹 20
, 25
!但是文件夹 25
和 26
不会被删除,即使它们是空文件夹。
Note that all the above folders are empty. When I run this script the folders 20
,25
alone gets deleted! But the folders 25
and 26
aren't deleted, even though they are empty folders.
我得到的例外是:
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/29'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/29/tmp'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/28'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/28/tmp'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/26'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/25'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/27'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/27/tmp'
我在哪里出错?
推荐答案
尝试 shutil.rmtree
:
import shutil
shutil.rmtree('/path/to/your/dir/')
这篇关于递归删除python中的文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文