我发现了这个问题,但我不知道如何使用这个建议。我试过了
with open(fullname) as filein:
fcntl.lockf(filein, fcntl.LOCK_EX | fcntl.LOCK_NB)
和
with open(fullname) as filein:
fcntl.lockf(filein.fileno(), fcntl.LOCK_EX | fcntl.LOCK_NB)
但两种情况下我都得到了错误
OSError: [Errno 9]文件描述符错误
我想用这个方法来检查一个文件是否被"锁定",并理想地解锁它。
尝试应用下一个代码片段:
import fcntl
with open(fullname, 'r') as filein:
try:
fcntl.flock(filein, fcntl.LOCK_EX | fcntl.LOCK_NB)
except IOError:
print(f"File {fullname} is locked.")
else:
print(f"File {fullname} is locked, but...")
fcntl.flock(filein, fcntl.LOCK_UN)
print("now is not.")