Ответ 1
Другая возможность заключается в том, что при проверке вируса файл остается открытым при попытке удалить или переименовать его. Это происходит не часто, но когда это происходит, это действительно раздражает, чтобы отследить.
Я пытаюсь удалить файл после чтения из него, но получаю "WindowsError: [Ошибка 32] Процесс не может получить доступ к файлу, потому что он используется другим процессом"
file = open(self.filePath)
for line in file:
#do things
file.close()
os.remove(self.filePath) #throws error
os.rename(self.filePath, self.filePath + "old") #throws same error
любые идеи?
Благодарю вас!
UPDATE: я только что перезапустил мой (окна 7), запустил eclipse, переместил os.remove( "c:\file\file.txt" ) в первую строку моего script, запустил и получил ту же ошибку.
ОБНОВЛЕНИЕ 2: Я использовал Windows Explorer для перехода к файлу. В первый раз я не смог его удалить, он использовался системой "Система". вторая попытка удаления удалась. файла больше нет. теперь, когда я бегу os.remove( "C:\файл\file.txt" ) WindowsError: [Ошибка 32] Процесс не может получить доступ к файлу, потому что он используется другим процессом: 'c:\file\file.txt' то я смотрю в Windows Explorer, и файл возвращается, пустой. я могу удалить в проводнике, а затем, когда я запустил script для удаления, он выдает ошибку (и создает пустой файл). любая идея, что здесь может происходить?
ОБНОВЛЕНИЕ 3: я идиот. я открывал файл при инициализации объекта когда я тестировал, переместив "удалить" поверх script, я должен был поместить его вверху, а не после создания моих объектов
Извините за то, что вы не торопитесь, я работал над чем-то во все выходные, которые должны были завтра и в панике, когда он не запустил
Другая возможность заключается в том, что при проверке вируса файл остается открытым при попытке удалить или переименовать его. Это происходит не часто, но когда это происходит, это действительно раздражает, чтобы отследить.
Используйте Unlocker (проще) или Process Explorer, чтобы увидеть, какая программа открыта.
(как предложено Anon)
У меня такая же проблема прямо сейчас с доступом-AB. Process Explorer показывает, что.. 'python.exe' использует файл, который я хочу удалить. Я не могу убить Python. Это раздражающее решение.
Есть много возможных причин для этого. Однако наиболее вероятно, что у вас открыто окно каталога, которое содержит файл, или что такое окно было закрыто в последнее время, и Windows еще не очистила каталог из своего кеша. Попробуйте закрыть любое окно каталога, которое вы искали, и повторите попытку.