提高fcntl.flock的使用率
flockcontext的Python项目详细描述
提高了fcntl.flock的使用率。
flock是用于file locking的unix命令, 控制文件访问限制的机制。
用法
专用锁:
from flockcontext import FlockOpen with FlockOpen('/tmp/my.lock', 'w') as lock: lock.fd.write('Locked\n')
具有1秒超时的独占阻塞锁:
from flockcontext import FlockOpen with FlockOpen('/tmp/my.lock', 'w', timeout=1) as lock: lock.fd.write('Locked\n')
专用无阻塞锁:
from flockcontext import FlockOpen try: with FlockOpen('/tmp/my.lock', 'w', blocking=False) as lock: lock.fd.write('Locked\n') except IOError as e: print('Can not acquire lock')
共享阻塞锁:
from flockcontext import Flock with FlockOpen('/tmp/my.lock', 'w', exclusive=False) as lock: lock.fd.write('Locked\n')
在上下文中获取并释放:
from flockcontext import FlockOpen with FlockOpen('/tmp/my.lock', 'w') as lock: print('Lock acquired') lock.fd.write('Locked\n') lock.release() print('Lock released') lock.acquire() print('Lock acquired') lock.fd.write('Locked\n')
锁定已打开的文件:
from flockcontext import Flock with open('/tmp/my.lock', 'w') as fd: with Flock(fd): fd.write('Locked\n')
许可证
- 免费软件:BSD许可证
历史记录
0.4.0(2019-07-03)
- 将Docker用于从2.7到3.7的多个Python版本测试
- 添加正确的BSD许可证文件
- 添加锁定锁定超时
- 将开发状态升级到生产/稳定状态
0.3.1(2015-08-24)
- 为代码示例添加语法突出显示
- 在自述文件中添加flock manager示例
0.3.0(2015-08-21)
- 添加flockopen上下文管理器。
0.2.0(2015-08-20)
- 增加群体关系,并根据上下文获取能力。
0.1.0(2015-08-19)
- 添加flock上下文管理器。