mit dem Windows-Befehl del alle Dateien im Verzeichnis mit Wildcard zu entfernen. Dadurch werden alle Dateien rekursiv innerhalb sie löschen, aber es wird die leere Unterordner dort unten gesamten Verzeichnisstruktur von Windows \ Temp.This
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'
Änderung der 1. Zeile verlassen löschen alles entfernen umfassen den Ordner Temp selbst wenn Erfolg, neu übergeordnetes Verzeichnis danach
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 von shutil eine ziemlich gute Wahl sein sollte, IGNORE_ERRORS setzt alle Fehler in der Mitte zu ignorieren und bis all Verzeichnisbaum komplett
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)
weiter
Eine weitere Option Verzeichnis iterieren zu
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)
Änderung der del_dir entsprechend in ein beliebiges Verzeichnis von Interesse
Sie sind den Umgang mit Windows-Ordner gelöscht werden, passen sie auf das Verzeichnis gesetzt sorgfältig zu löschen, Sie möchte nicht irrtümlicherweise del_dir = r'c setzen: \ windows '
was bedeutet 'nicht funktioniert'? Wir können nicht in Gedanken lesen. Erhalten Sie eine Fehlermeldung? Zeige immer die vollständige Nachricht an. – furas
Hallo. Entschuldigung für die Verwirrung. Übrigens, es gibt keine Fehlermeldung nach der Ausführung im Befehl. – user2926827
rmdir ist das Mittel zum Entfernen des Verzeichnisses, Sie könnten stattdessen mit Befehl del versuchen, auch brauchen Sie möglicherweise nicht die Pfade, da Sie planen, alle Dateien zu entfernen, versuchen 'del C: \\ Windows \\ Temp \\ *. */S/q ' – Skycc