首页 > 解决方案 > 通过链接/文件夹创建跨平台协作文件锁定?

问题描述

我想在 Python 中实现一个协作文件锁定机制,它也适用于远程分区(例如 NFS),使用简单的代码(我想避免使用第三方模块,因为我想要一些特定的开源代码没有依赖项)。

那里有一些看起来相对跨平台的解决方案,但它们比我想的要复杂:理想情况下,完全相同的代码行将在所有平台上运行。

一个解决方案是使用一些原子操作来尝试创建一个锁,如果它不能创建则失败(例如,一个目录形式的锁)。在 Unix 上创建目录 是原子的,所以这是一个很好的第一步。现在,什么是 Windows 的等效解决方案?我在某处读过可能创建链接(如何?)将是原子的;如果在 Windows 上创建目录是原子的,那就更好了,因为相同的代码可以用于 Windows 和 Unix,但我不知道是否是这种情况。

总结一下:什么是用于创建(和释放)协作文件锁的简单跨平台Python代码(无库) ,它也适用于远程分区?目录创建路线看起来很有希望,但它在 Windows 上有效吗?

标签: pythonwindowsunixfile-lockingfilelock

解决方案


推荐阅读