python文件加锁

首先要引入库
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)


文件加锁捕捉异常

  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"


你可能感兴趣的:(python)