使用windows命令del删除dir中带有通配符的所有文件
. 这将递归地删除其中的所有文件,但是它会将空的子文件夹留在那里import os, subprocess
del_dir = r'c:\windows\temp'
pObj = subprocess.Popen('del /S /Q /F %s\\*.*' % del_dir, shell=True, stdout = subprocess.PIPE, stderr= subprocess.PIPE)
rTup = pObj.communicate()
rCod = pObj.returncode
if rCod == 0:
print 'Success: Cleaned Windows Temp Folder'
else:
print 'Fail: Unable to Clean Windows Temp Folder'
将第一行改为下面,删除整个Windows目录树\这个临时工如果成功,将删除包括临时文件夹本身在内的所有内容,然后重新创建父目录
^{pr2}$
否则,shutil中的rmtree应该是一个不错的选择,ignore_errors设置为忽略中间的所有错误并继续,直到所有目录树完成import shutil, os
del_dir = r'c:\windows\temp'
shutil.rmtree(del_dir, ignore_errors=True)
# recreate the deleted parent dir in case it get deleted
os.makedirs(del_dir)
迭代要删除的目录的另一个选项import os,shutil
del_dir = r'c:\windows\temp'
for f in os.listdir(del_dir):
if os.path.isfile(f):
os.remove(f)
elif os.path.isdir(f)
shutil.rmtree(f, ignore_errors=True)
相应地将del_dir更改为任何感兴趣的目录
您正在处理windows文件夹,请小心设置要删除的目录,您不会希望错误地将del_dir=r'c:\windows'