根据名称删除所有文件夹
我需要删除所有名字以“tmp****”开头的文件夹。
举个例子,文件夹结构是这样的:
C:/tmp
文件夹里面有 tmp323
、tmp543
和 tmp922
这些文件夹。
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)