我需要锁定一个文件,以便在Python中写入。它将同时从多个Python进程访问。我在网上找到了一些解决方案,但大多数都失败了,因为它们通常只基于Unix或Windows。
发布于 2009-01-29 01:01:51
这里有一个跨平台的文件锁定模块:Portalocker
尽管如Kevin所说,如果可能的话,同时从多个进程写入文件是您想要避免的事情。
如果你能把你的问题硬塞进数据库,你就可以使用SQLite。它支持并发访问,并处理自己的锁定。
发布于 2009-01-29 00:24:07
在操作系统级别协调对单个文件的访问充满了您可能不想解决的各种问题。
最好的办法是有一个单独的进程来协调对该文件的读/写访问。
发布于 2009-01-28 23:45:52
锁定文件通常是特定于平台的操作,因此您可能需要考虑在不同操作系统上运行的可能性。例如:
import os
def my_lock(f):
if os.name == "posix":
# Unix or OS X specific locking here
elif os.name == "nt":
# Windows specific locking here
else:
print "Unknown operating system, lock unavailable"
https://stackoverflow.com/questions/489861
复制相似问题