У меня есть скрипт Python, который проверяет каталог раскладки, обрабатывает все найденные файлы и затем удаляет их.
Как я могу убедиться, что файл, который все еще записывается процессом, удаляющим файлы в этом каталоге, не должен забираться?
Мой тестовый пример довольно прост.Я копирую и вставляю 300 МБ файлов в каталог раскладки, и часто сценарий захватывает файл, который все еще пишется.Он работает только с частичным файлом, затем удаляет его.Это вызывает ошибку файловой операции в ОС, поскольку файл, в который он записывал, исчезает.
Я пытался получить блокировку файла (используя модуль FileLock) перед открытием/ обработать / удалить его.Но это не помогло.
Я рассмотрел проверку времени изменения файла, чтобы избежать чего-либо в течение X секунд.Но это кажется неуклюжим.
Мой тест проводится на OSX, но я пытаюсь найти решение, которое будет работать на основных платформах.
Я вижу похожеевопрос здесь ( Как проверить, что файл все еще пишется? ), но не было четкого решения.
Спасибо