我认为没有完全跨平台的方式。在unix上,fcntl模块将为您执行此操作。但是在Windows上(我假设您是通过路径访问的),您将需要使用win32file模块。
幸运的是,在Python
Cookbook上有一个使用平台适当方法的可移植实现(portalocker)。
要使用它,请打开文件,然后调用:
portalocker.lock(file, flags)
其中标志是portalocker.LOCK_EX用于独占写访问,而LOCK_SH用于共享读访问。

我认为没有完全跨平台的方式。在unix上,fcntl模块将为您执行此操作。但是在Windows上(我假设您是通过路径访问的),您将需要使用win32file模块。
幸运的是,在Python
Cookbook上有一个使用平台适当方法的可移植实现(portalocker)。
要使用它,请打开文件,然后调用:
portalocker.lock(file, flags)
其中标志是portalocker.LOCK_EX用于独占写访问,而LOCK_SH用于共享读访问。