Кроссплатформенная кооперативная блокировка файлов через создание ссылки / папки? - PullRequest
0 голосов
/ 07 мая 2018

Я хотел бы реализовать механизм совместной блокировки файлов в Python, который бы также работал на удаленных разделах (например, NFS), с простым кодом (я хочу избегать использования стороннего модуля, потому что я хочу некоторый определенный открытый исходный код не должен иметь зависимостей).

Существуют решения, которые выглядят относительно кроссплатформенными, но они более сложны , чем мне бы хотелось: в идеале на всех платформах должны работать одинаковые строки кода.

Решение состоит в том, чтобы использовать некоторую атомарную операцию , которая пытается создать блокировку и терпит неудачу, если не может (например, блокировка в форме каталога). Создание каталога является атомарным в Unix , так что это хороший первый шаг. Теперь, что было бы эквивалентным решением для Windows ? Я где-то читал, что, возможно, создание ссылки (как?) Будет атомарным; если создание каталога является атомарным в Windows , это было бы еще лучше, поскольку один и тот же код мог бы использоваться как для Windows, так и для Unix, но я не могу выяснить, так ли это.

Подводя итог : что будет простой , кроссплатформенный Python код (без библиотеки) для создания (и выпуска) ) кооперативная блокировка файлов , которая также работает на удаленных разделах? Маршрут создания каталога выглядит многообещающе, но работает ли он в Windows?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...