提高fcntl.flock的使用率

flockcontext的Python项目详细描述


https://img.shields.io/travis/AntoineCezar/flockcontext.svghttps://img.shields.io/badge/docs-latest-brightgreen.svghttps://img.shields.io/coveralls/AntoineCezar/flockcontext.svghttps://img.shields.io/pypi/v/flockcontext.svg

提高了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上下文管理器。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java OpenGL着色器可在桌面上编译,但不能在Android上编译   java调度器。forward()生成HTTP 500   java从另一个类访问类   java EasyModBus Modbus客户端。ReadHoldingRegisters()返回意外的0   java 安卓bitmap低质量问题   带有signaturePropFile的java Axis2/rampart加密问题   Java,解析xml属性的原始未转换值。Jaxson或jaxb   爪哇太阳报。网inetaddr。ttl属性导致AccessControlException   java简单计算器无法通过println   线程安全java servlet   java从文本文件中获取特定信息   java打包具有字符串数组的哈希映射   java SQL合并以更新值或将值插入到同一个表中   java springrabitmq和线程本地何时是调用clean方法的好时机   windows java在我的64位计算机的任务管理器中显示为32位   java不确定使用什么值来初始化我的神经网络   java Maven插件下载文件