我正在尝试编写一个二进制文件,并锁定其他进程的访问权限,直到该文件完全写入磁盘。我正在使用Windows操作系统。有趣的是,如果我写小文件(~1KB(,代码可以正常工作,但当我试图写更大的文件时,Python会引发错误:
PermissionError:[Erno 13]权限被拒绝。
with open(full_file_name, "wb") as f:
lock = FileLock(full_file_name)
with lock:
f.write(bytearray(array))
您应该使用"~。锁定";文件以锁定文件。
lock = FileLock(full_file_name + ".lock")
with lock:
with open(full_file_name, "wb") as f:
f.write(bytearray(array))
请详细查看PyPi官方文件的样本代码:https://pypi.org/project/filelock/