import os
import shutil
BASE = '.'
for root, dirs, files in os.walk(BASE):
n = 0
head = root
while head and head != BASE:
head, _ = os.path.split(head)
n += 1
if n == 3:
for dir in dirs:
shutil.rmtree(os.path.join(root, dir))
del dirs[:] # clear dirs so os.walk() doesn't look for subdirectories
正确的方法是使用
os.walk
,但这里有一个廉价的答案:这将删除中至少四个级别的所有文件,然后尝试删除中至少三个级别的所有目录。由于前一个命令将删除它们的内容,
rmdir
将成功(并抱怨它找到的所有非目录叶)。在未经测试,但使用
os.walk()
可能会显示如下:相关问题 更多 >
编程相关推荐