根据名称删除所有文件夹

-1 投票
3 回答
1840 浏览
提问于 2025-04-18 12:07

我需要删除所有名字以“tmp****”开头的文件夹。

举个例子,文件夹结构是这样的:

C:/tmp 文件夹里面有 tmp323tmp543tmp922 这些文件夹。

3 个回答

0

你可能想在你的程序中使用

import glob
import os

这两个都是标准库里的程序。

glob可以帮助你筛选

glob.glob("tmp*")

你还需要用到os包的一些功能来判断某个东西是不是一个文件夹。

一旦你有了要删除的文件夹列表

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

或者类似的东西就能解决问题了。

0

在编程中,有时候我们需要处理一些数据,这些数据可能来自不同的地方,比如用户输入、文件或者网络请求。为了让程序能够理解这些数据,我们通常会把它们转换成一种特定的格式。

比如说,如果你有一个数字字符串“123”,你可能想把它变成一个真正的数字,以便进行数学运算。这就需要用到转换的技巧。

另外,处理数据时,我们还可能会遇到一些错误,比如用户输入了不合法的内容。这时候,我们需要用一些方法来检查这些输入,确保它们是正确的,这样程序才能顺利运行。

总之,处理数据的过程就像是在整理你的书桌,确保每样东西都在正确的位置,这样你才能更高效地工作。

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))
3

使用 glob、os 和 shutil:

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

撰写回答