Windows. Python 3+. Исключительная блокировка файла

Не создается блокировка файла при работе через python.

# пример
with open(filePath, mode="wb+") as f:
  print(filePath)
  input("Любой ввод для завершения")
  ...

Т.е. в момент выполнения скрипта я могу открыть файл в любой программе, отредактировать и сохранить. Как заблокировать возможность чтения/записи для других приложений?


Ответы (1 шт):

Автор решения: Gawain

Использовать библиотеку filelock

from filelock import Timeout, FileLock

lock = FileLock("high_ground.txt.lock")
with lock:
    with open("high_ground.txt", "a") as f:
        f.write("You were the chosen one.")

Обратите внимание на комментарий:

Не используйте FileLock для блокировки файла, в который вы хотите выполнить запись, вместо этого создайте отдельный .lock файл, как показано выше.

→ Ссылка