如何在python中搜索文件夹名称并将其删除

时间:2017-11-09 08:49:10

标签: python

我有一个文件夹和子文件夹目录,我需要搜索以查找某个文件夹名称,"旧数据",这样我就可以删除旧数据中的文件" ;并删除文件夹本身及其中的文件(但不是它的父文件夹)。有122个文件夹可供搜索,其中只有一些文件夹包含一个名为“旧数据”的子文件夹。如何在每个文件夹中搜索"旧数据"并删除它?我对python来说相对较新,我唯一能够获得的代码是列出目录,这样我就可以看到哪些文件夹有一个名为"旧数据的文件夹"哪个不是:

import os

os.chdir('C:/directory')

for root, dirs, subdirs in os.walk('C:/directory'):
 for d in dirs:
      print os.path.join(root, d)

2 个答案:

答案 0 :(得分:0)

查看以下代码是否适用于您的方案:

import os
import shutil

for root, subdirs, files in os.walk('C:/directory'):
    for d in subdirs:
        if d == "old data":
            shutil.rmtree(os.path.join(root, d))

shutil.rmtree将删除整个"旧数据"目录

答案 1 :(得分:0)

以下代码适用于Linux环境,但shutil.rmtree()是您需要的

1 import os                                                                                                                                                             
2 import shutil                                                                  
3                                                                                
4 root = "/home/user/input"                                                     
5 for i in os.walk(root, topdown=False):                                         
6      if i[0].split('/')[-1] == "test3":                                        
7          shutil.rmtree(i[0]) 

os.remove() - 删除文件 os.rmdir() - 删除空目录 shutil.rmtree() - 删除目录及其所有内容