我有一个文件夹和子文件夹目录,我需要搜索以查找某个文件夹名称,"旧数据",这样我就可以删除旧数据中的文件" ;并删除文件夹本身及其中的文件(但不是它的父文件夹)。有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)
答案 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()
- 删除目录及其所有内容