с помощью команды окон дель удалить все файлы в директории с групповым символом . Это удалит все файлы рекурсивно в нем, однако он оставит пустую папку там
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'
изменить 1-я строку ниже, чтобы удалить все дерево каталогов Windows \ Temp.This удалит все включает папку Temp себя, если успех, воссоздать родительский каталог после
del_dir = r'c:\windows\temp'
pObj = subprocess.Popen('rmdir /S /Q %s' % del_dir, shell=True, stdout = subprocess.PIPE, stderr= subprocess.PIPE)
# recreate the deleted parent dir in case it get deleted
os.makedirs(del_dir)
Else, rmtree из shutil должен быть очень хороший выбор, 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 соответственно в любой каталог интересующей
Вы имеете дело с папкой окна, берегитесь, чтобы установить каталог тщательно удалить, вы не хотел бы ошибочно поместить del_dir = r'c: \ windows '
что означает 'не работает'? Мы не можем читать в вашем уме. Появляется ли сообщение об ошибке? Всегда показывайте полное сообщение. – furas
привет. извинения за путаницу. btw, после того, как я выполнил команду, нет сообщения об ошибке. – user2926827
rmdir является средним для удаления каталога, вы можете попробовать с помощью команды del вместо этого, также вам могут не понадобиться пути, так как вы планируете удалить все файлы, попробуйте 'del C: \\ Windows \\ Temp \\ *. */S/q ' – Skycc