Я использую менеджер контекста luigi, который пишет во временный файл и переименовывает его по завершении. При попытке переименовать файл в конце блока контекста я получаю сообщение об ошибке «Отказано в доступе».
Я подумал, что, может быть, замок еще не снят. Поэтому я добавил функцию release_lock, которая проверяет доступность файла (переименовывая его и переименовывая его с повторными попытками при ошибке). Но я все еще получаю сообщение об ошибке «Отказано в доступе».
Я запускаю Ubuntu в Docker-контейнере, и файл находится на хосте Windows 10. Ошибка происходит только 1/50 запуска.
with self.output().temporary_path() as f:
createfile()
release_lock(f)