首先要引入库
import fcntl
打开一个文件
f = open('./test')
对该文件加密:
fcntl.flock(f, fcntl.LOCK_EX)
这样就对文件test加锁了,如果有其他进程要对test进行加锁,则不能成功,会被阻塞,但不会退出程序。
解锁:
fcntl.flock(f,fcntl.LOCK_UN)
解锁后,其他进程就可以对该文件进行加锁了。
另外还有一种共享锁:acquire a shared lock
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"