开发者社区> 问答> 正文

python 怎么给文件上锁

python 怎么给文件上锁

展开
收起
云计算小粉 2018-05-10 20:11:06 2186 0
1 条回答
写回答
取消 提交回答
  • 首先要引入库
    import fcntl
    打开一个文件
    f = open('./test')
    对该文件加密:
    fcntl.flock(f, fcntl.LOCK_EX)
    这样就对文件test加锁了,如果有其他进程要对test进行加锁,则不能成功,会被阻塞,但不会退出程序。
    解锁:
    fcntl.flock(f,fcntl.LOCK_UN)
    解锁后,其他进程就可以对该文件进行加锁了。
    另外还有一种共享锁:acquire a shared lock
    fcntl.flock(f,fcntl.LOCK_SH)

    文件加锁捕捉异常

    [python] view plain copy
    1 #!/usr/bin/env python
    2 #coding:utf-8
    3 """
    4 文件锁测试
    5 """
    6
    7 import fcntl
    8 import time
    9
    10 try:
    11 fp = open('_filelock','w')
    12 fcntl.flock(fp.fileno(), fcntl.LOCK_EX | fcntl.LOCK_NB)
    13 print '文件锁开始执行'
    14 time.sleep(50)
    15 fp.close()
    16 except IOError:
    17 print "lock"

    2019-07-17 22:25:37
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载