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"


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值