Не удается удалить файл после загрузки в папку FTP - PullRequest
0 голосов
/ 03 июня 2019

Я хочу удалить файл после его успешной загрузки в папку FTP.

Я хочу удалить файл из папки Dropbox после его загрузки в папку FTP.Сообщение об ошибке говорит, что это не может быть удалено, так как другой процесс использовал его.Ошибка все еще там, даже я уже закрыл файл, как вы увидите в моем коде.

file = open(filename, 'rb')
ftp.storbinary('STOR ' + filename, file)
log.append(filename)
file.close()
os.remove(filename)

[WinError 32] Процесс не может получить доступ к файлу, потому что он используется другим процессом: 'test.pdf '

1 Ответ

0 голосов
/ 03 июня 2019

Блокировка файлов Windows раздражает. Даже Explorer может заблокировать ваш файл, предотвращая удаление.

Вы можете попробовать повторные попытки:

while True:
  try:
    os.remove(path)
    break
  except:
    time.sleep(1)

Также рассмотрите возможность помещения вашего файлового объекта в блок «with ... as file» (менеджер контекста). Это удаляет объект файла, а также закрывает файл.

...