我在删除空目录时遇到问题。这是我的代码:
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
单独被删除!但是,文件夹25
,并26
不会被删除,即使它们是空文件夹。
编辑:
我得到的例外是:
[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'
我在哪里弄错了?
1
您确定他们没有隐藏文件吗?
—
杰夫
是否打印了异常或追溯?如果是的话-如果您将其添加到问题中,将会有所帮助
—
Ngure Nyaga
@Jeff:是的,我确定。实际上,在我尝试的ubuntu机器上,
—
斯里拉姆,2012年
rmdir /path/to/25th/folder
正在删除整个目录。这意味着该目录是一个空目录!
如何使用Python删除/删除不为空的文件夹的可能重复项?和答案都一样
—
特雷弗·博伊德·史密斯