我已经下载了 filelock 模块,以便在我的 Python 程序中锁定文件。 这是我的代码:
import filelock
lock = filelock.FileLock(path)
lock.acquire()
#do something...
lock.release()
由于某些我不理解的原因,当我释放锁时,文件被删除了。有人知道如何处理吗?在释放锁之后,如何保持文件可用?如果相关的话,我的文件保存在一个单独的硬盘上。谢谢。
我正在使用Windows 10 Pro。
我已经下载了 filelock 模块,以便在我的 Python 程序中锁定文件。 这是我的代码:
import filelock
lock = filelock.FileLock(path)
lock.acquire()
#do something...
lock.release()
def _release(self):
msvcrt.locking(self._lock_file_fd, msvcrt.LK_UNLCK, 1)
os.close(self._lock_file_fd)
self._lock_file_fd = None
try:
os.remove(self._lock_file)
# Probably another instance of the application
# that acquired the file lock.
except OSError:
pass
return None
从代码可以看出os.remove将删除文件。尽管这并没有帮助,但希望能解释为什么会发生这种情况。可能是一个错误或者是某人忘记删除的过期代码。
这对我在Windows上有效,也应该对你有效 benediktschmitt
你好,这个库的用例是为了通知应用程序的不同实例,共享资源当前正在被访问。例如:一些同步程序在同步期间在根文件夹中创建锁定文件,以防止其他实例同时进行操作。一旦锁定文件被删除,另一个实例就会开始同步进程。如果您想避免竞争条件,可以像这样使用此库: