python - 递归删除python中的文件夹

标签 python directory

我在删除空目录时遇到问题。这是我的代码:

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 是我传递需要完成工作的目录的位置。该目录如下所示:

test/20/...
test/22/...
test/25/...
test/26/...

请注意,以上所有文件夹都是空的。当我运行此脚本时,文件夹 20,25 单独被删除!但是文件夹 2526 不会被删除,即使它们是空文件夹。

编辑:

我得到的异常(exception)是:

[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 - 递归删除python中的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13118029/

相关文章:

python - django channels message.reply_channel 没有属性发送

python - 按空白分割图像

batch-file - 提示用户在批处理文件中选择目录

unix - 如何在 Unix 上比较 2 个文件夹的权限?

Python:如何在 Pandas 中进行条件操作?

python - Maya Python 在渲染设置中更改当前渲染器

python - = 尝试除了模式?

c++ - 如何在 Win32 中递归创建文件夹?

c++ - 由于 read() block ,无法观看多个目录

c++ - 在代码中 - 删除包含文件的文件夹