python 蟒蛇文件锁

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 蟒蛇文件锁相关的知识,希望对你有一定的参考价值。

import os
import fcntl

class Lock(object):
    def __init__(self, filename):
        self.filename = filename
        self.handle = open(filename,'w')

    def acquire(self):
        # if you need a non-blocking lock, use fcntl.LOCK_NB
        fcntl.flock(self.handle, fcntl.LOCK_EX)

    def release(self):
        fcntl.flock(self.handle, fcntl.LOCK_UN)

    def __del__(self):
        self.handle.close()

'''
flask 对应的请求方法,当多个请求来时,调用该方法,将其变为单步执行
'''
def filelocktest():
    try:
        lock = Lock('./deploy_lock.tmp')
        lock.acquire()
        time.sleep(5)
        print('filelock is running')
    finally:
        lock.release()

以上是关于python 蟒蛇文件锁的主要内容,如果未能解决你的问题,请参考以下文章

python 蟒蛇删除文件或目录

python 蟒蛇当前文件路径

python 蟒蛇下载大型文件显示进度条

python 蟒蛇解压焦油文件

python 蟒蛇读文件的创建修改时间

python 蟒蛇文件操作