按名称删除所有文件夹

时间:2014-07-04 14:46:06

标签: python

我无法在google中找到答案。我需要删除名称以" tmp ****"开头的所有文件夹。用python。

Exp: C:/tmp folder contains 'tmp323' 'tmp543' 'tmp922'。我需要删除所有这些文件夹及其中的文件及其子文件夹。请问我该怎么办?谢谢

3 个答案:

答案 0 :(得分:2)

使用glob,os和shutil:

import glob, os, shutil
dirs = glob.glob("tmp*/")
for dir in dirs:
    shutil.rmtree(dir)

答案 1 :(得分:0)

您可能想要使用

import glob
import os

在您的计划中。两者都是标准的图书馆计划。

glob将帮助您过滤

glob.glob("tmp*")

你将需要使用os包的一些例程来确定某些东西是否是目录。

一旦有了要删除的目录列表

for mydir in DirectoriesToDelete:
    os.system("rm -rf %s" %mydir)

或接近它的东西应该可以解决问题。

答案 2 :(得分:0)

from os import listdir, rmdir
from os.path import isdir, join
mypath = "C:/tmp"
onlydirs = [ f for f in listdir(mypath) if isdir(join(mypath,f)) and f.startswith("tmp")]
for f in onlydirs: rmdir(join(mypath,f))