Python怎么给文件上锁

36次阅读
没有评论

共计 677 个字符,预计需要花费 2 分钟才能阅读完成。

在 Python 中,可以使用 fcntl 模块来给文件上锁。下面是一个简单的示例代码,演示了如何给文件上锁和解锁。

import fcntl

def lock_file(file):
    try:
        fcntl.flock(file, fcntl.LOCK_EX | fcntl.LOCK_NB)
        return True
    except BlockingIOError:
        return False

def unlock_file(file):
    fcntl.flock(file, fcntl.LOCK_UN)

# 打开文件
file = open('example.txt', 'w')

# 尝试给文件上锁
if lock_file(file):
    print(" 文件已上锁 ")
    # 执行文件操作
    file.write("Hello, World!")
    # 解锁文件
    unlock_file(file)
    print(" 文件已解锁 ")
else:
    print(" 文件已被锁定,无法操作 ")

在上面的示例中,lock_file函数尝试给文件上锁。fcntl.flock函数的第一个参数是要上锁的文件对象,第二个参数是锁的类型。fcntl.LOCK_EX表示独占锁(其他进程无法访问文件),fcntl.LOCK_NB表示非阻塞模式(如果文件已被锁定,fcntl.flock函数会立即返回而不是等待)。如果成功上锁,函数返回True,否则返回False

unlock_file函数用于解锁文件,fcntl.LOCK_UN表示解锁。

在实际使用中,可以根据需要进行适当的错误处理和异常处理。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-13发表,共计677字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)