У меня есть программа, которая создает кучу файлов фильмов. Я выполняю задание cron, и каждый раз, когда запускаются фильмы из предыдущей итерации, они перемещаются в «предыдущую» папку, так что всегда есть предыдущая версия для просмотра.
Эти видеофайлы доступны по сети различным пользователям, и вот тут я сталкиваюсь с проблемой.
Когда скрипт запускается и пытается переместить файлы, он выдает ошибку занятости ресурса, потому что файлы открыты различными пользователями. Есть ли в Python способ принудительно закрыть эти файлы, прежде чем я попытаюсь их переместить?
Дополнительные уточнения:
JMax прав, когда упоминает, что это проблема уровня сервера. Я могу получить доступ к нашему серверу Windows через «Администрирование»> «Управление компьютером»> «Общие папки»> «Открыть файлы» и вручную закрыть там файлы, но мне интересно, есть ли эквивалент Python, который даст тот же результат.
примерно так:
try:
shutil.move(src, dst)
except OSError:
# Close src file on all machines that are currently accessing it and try again.