Ich versuche zu python haben löschen Sie einige Verzeichnisse, und ich bekomme Zugriff-Fehler auf. Ich denke, dass die python-Benutzerkonto nicht die Rechte?
WindowsError: [Error 5] Access is denied: 'path'
ist, was ich bekomme, wenn ich das Skript ausführen.
Ich habe versucht
shutil.rmtree
os.remove
os.rmdir
Sie alle wieder den gleichen Fehler.
InformationsquelleAutor der Frage DevelopingChris | 2009-07-31
Hatten wir Probleme entfernen von Dateien und Verzeichnisse unter Windows, auch wenn wir gerade kopiert Sie, wenn Sie auf 'readonly'.
shutil.rmtree()
bietet Ihnen die Art von Ausnahme-Handler, um mit dieser situation umzugehen. Sie nennen es und bieten ein Ausnahme-handler wie diese:Möchten Sie vielleicht zu versuchen.
InformationsquelleAutor der Antwort ThomasH
Habe ich noch nie verwendet Python, aber ich würde davon ausgehen, es wird als was auch immer user führt das script aus.
InformationsquelleAutor der Antwort Max Schmeling
Die Skripte haben keine besonderen Benutzer, den Sie gerade ausführen, unter dem aktuell angemeldeten Benutzer, welcher das Skript ausgeführt.
Haben Sie versucht, zu prüfen, dass:
InformationsquelleAutor der Antwort Yuval Adam
Wenn das Skript ausgeführt wird, als eine geplante Aufgabe (die wahrscheinlich für die ein cleanup-script), wird es wohl die Ausführung als SYSTEM. Es ist (unklug, aber) nicht möglich ist, legen Sie die Berechtigungen auf die Verzeichnisse, so dass SYSTEM hat keinen Zugriff.
InformationsquelleAutor der Antwort pzr
Sind die Verzeichnisse leer sind, und wenn nicht diese Methoden unterstützen decursively löschen Sie den Inhalt von einem Verzeichnis?
InformationsquelleAutor der Antwort Justin
Wie Sie das Skript ausführen? Von einer interaktiven Konsole-Sitzung? Wenn dem so ist, öffnen Sie einfach einen DOS-Befehl-Fenster (mit cmd) und geben Sie 'whoami'. Das ist, wer Sie sind, laufen die Skripte interaktiv.
Ok, sah ich Ihre Bearbeitungen gerade jetzt...warum nicht drucken Sie den Pfad und überprüfen Sie die Eigenschaften, um zu sehen, wenn das Benutzerkonto ausführen des scripts hat die erforderlichen Rechte?
Wenn whoami funktioniert nicht auf Ihre Windows-version, können Sie die environment-Variablen wie USERNAME und SET DOMAINNAME von Ihrem Befehl Fenster.
InformationsquelleAutor der Antwort msvcyc
@ThomasH : another brick an der Wand.
Auf unix-Systemen müssen Sie sicherstellen, dass übergeordnete Verzeichnis ist beschreibbar zu.
Hier ist eine andere version :
InformationsquelleAutor der Antwort fylb
Einfache Lösung, nach der Suche nach Stunden, so ist zuerst zu überprüfen, ob die Ordner wirklich existieren!
Diese hat den trick für mich.
InformationsquelleAutor der Antwort Nerminz