Napisałem prosty skrypt do usunięcia kilku plików z niektórych katalogów, muszę usunąć wszystkie pliki .exe i wszystkie pliki .dll. Udaje mi się usunąć pliki .exe za pomocą os.remove("path_name")
ale gdy próbuję usunąć pliki .dll otrzymuję "Błąd systemu Windows: [Błąd 267] Nazwa katalogu jest nieprawidłowa". Dodaję mój kod poniżej i mam nadzieję, że ktoś może mi pomóc rozwiązać problem.
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()
z góry dziękuję.
kiedy próbuję użyć os.unlink()
Dostaję: "WindowsError: [Błąd 5] Odmowa dostępu" dla pliku .dll (plik .exe jest usuwany tak, jak powinien)
Odpowiedzi:
2 dla odpowiedzi № 1Ponieważ to jest .dll że próbujesz usunąć, istnieje duża szansa, że plik jest w użyciu i dlatego nie można go usunąć.
Spróbuj sprawdzić, czy możesz najpierw usunąć ręcznie.