Python从多个进程锁定和解锁文件
我有一个被其他Python文件访问的文件Python从多个进程锁定和解锁文件,python,python-3.x,Python,Python 3.x,我有一个被其他Python文件访问的文件xxx.txt。当script_1即将写入xxx.txt时,它应该锁定文件,并且script_2应该等待文件被script_1释放 我尝试使用此代码,但它不会锁定文件脚本_2能够写入文件 import fcntl, os, signal, time os.fork() class TimeoutException(Exception): pass def signal_handler(signum, frame): raise Timeou
xxx.txt
。当script_1
即将写入xxx.txt
时,它应该锁定文件,并且script_2
应该等待文件被script_1
释放
我尝试使用此代码,但它不会锁定文件<代码>脚本_2能够写入文件
import fcntl, os, signal, time
os.fork()
class TimeoutException(Exception): pass
def signal_handler(signum, frame):
raise TimeoutException()
f = os.open("xxx.txt", os.O_RDWR|os.O_CREAT)
fcntl.flock(f, fcntl.LOCK_EX)
time.sleep(20)
os.write(f, bytes("oook_0", "utf-8"))
fcntl.flock(f, fcntl.LOCK_UN)
os.close(f)
from filelock import FileLock
with FileLock("lock"):
with open('lock', mode='w') as file:
file.write('oook_1')