我无法在google中找到答案。我需要删除名称以" tmp ****"开头的所有文件夹。用python。
Exp: C:/tmp folder contains 'tmp323' 'tmp543' 'tmp922'
。我需要删除所有这些文件夹及其中的文件及其子文件夹。请问我该怎么办?谢谢
答案 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))