Ich schrieb ein einfaches Skript, um ein paar Dateien aus einigen Verzeichnissen zu löschen, ich muss alle .exe-Dateien und alle DLL-Dateien löschen. Ich kann die .exe-Dateien mit os.remove("path_name")
löschen, aber wenn ich versuche, die .dll-Dateien zu löschen, bekomme ich "Windows Error: [Error 267] Der Verzeichnisname ist ungültig". Ich füge meinen Code unten hinzu und ich hoffe, dass jemand mir helfen kann, das Problem zu lösen.konnte file.dll nicht mit Python-Skript löschen
for name in dirs: dirPath = RES_PATH + "\\" + name dirsInside = os.listdir(dirPath) LOG_FILE = open(dirPath + "\\log.log", 'w') for doc in dirsInside: if (".exe" in doc): os.remove(dirPath + "\\" + doc) elif (".dll" in doc): shutil.rmtree(os.path.join(dirPath, doc)) if ("ResultFile.txt" in doc): pathToResultFile = dirPath + "\\" + doc fileResult = open(pathToResultFile, 'r') lines = fileResult.readlines()
Dank im Voraus.
EDIT
, wenn ich die os.unlink()
zu verwenden versuche ich bekommen: „WindowsError: [Error 5] Zugriff verweigert“ für die DLL-Datei (die EXE-Datei gelöscht wird, wie es sollte)
Was bedeutet Fehler # 267? –
"Windows Fehler: [Fehler 267] Der Verzeichnisname ist ungültig" das ist es, was es mir gibt. –
Fügen Sie das zu Ihrer Frage hinzu. Erstellen Sie dann ein minimales Beispiel, das nur zwei 'unlink()' Aufrufe anzeigt. Der erste, der die exe löscht, sollte erfolgreich sein. Die zweite, die DLL löschen, sollte fehlschlagen. –