Я создаю скрипт, который с помощью API Youtube загружает видео в папку, а затем удаляет их. Хотя видео уже загружено, Python не позволяет удалить файл. Это дает мне ошибку:
WindowsError: [Ошибка 32] Процесс не может получить доступ к файлу, поскольку он используется другим процессом.
Затем я попытался использовать os.close(filevar)
, но он вернул эту ошибку:
TypeError: требуется целое число (получен тип str)
Я пробовал такую штуку сделать переменную целочисленной, но не получилось:
newest_file = 1 #Set the value of var in int
os.close(newest_file) #Close process
newest_file = max(mp4_files, key = os.path.getctime) #Rewrite the var
os.remove(newest_file) #Remove the last video
Как я могу решить эту проблему?
да, файл открывается в моем коде
Как вы открываете файл? Дескриптор файла (нужное значение int) должен быть возвращен из os.open
.
Добро пожаловать в Stackoverflow! Пожалуйста, найдите время, чтобы усвоить рекомендации SO , адресованные новым пользователям. Вы можете отправиться в тур ; тогда прочитайте что здесь по теме и предоставьте минимально воспроизводимый пример.
У меня также была эта проблема, эта проблема недавно появилась при использовании os.remove в Windows. Решил с помощью библиотеки send2trash, вместо удаления файла файл отправляет в корзину.
send2trash.send2trash(самый новый_файл)
Файл открыт вашим кодом или чем-то еще? На самом деле это не проблема Python, это скорее проблема Windows.