python-filelock

简介

python-filelock 是一个跨平台的文件锁库,为 Python 应用程序提供独立于操作系统的文件锁定机制。它支持多种锁定模式,适用于进程间同步、资源访问控制等场景。

主要功能

  • 跨平台支持(Windows、Linux、macOS)
  • 线程和进程安全的文件锁定
  • 支持阻塞和非阻塞锁定模式
  • 自动死锁检测和恢复机制
  • 超时控制功能
  • 多种锁类型(硬锁、软锁)
  • 异步文件锁支持

项目结构

python-filelock/
├── python-filelock.spec    # RPM 打包规格文件
├── filelock-3.20.1.tar.gz  # 源码包(通过 Git LFS 管理)
├── src/filelock/           # 核心源码目录
│   ├── __init__.py         # 模块初始化
│   ├── _api.py             # API 接口定义
│   ├── _error.py           # 异常定义
│   ├── _soft.py            # 软锁实现
│   ├── _unix.py            # Unix 平台实现
│   ├── _util.py            # 工具函数
│   ├── _windows.py         # Windows 平台实现
│   ├── asyncio.py          # 异步支持
│   └── version.py          # 版本信息
└── tests/                  # 测试用例
    ├── test_filelock.py
    ├── test_async_filelock.py
    └── ...

快速使用

from filelock import FileLock

# 创建文件锁
with FileLock("my_file.lock"):
    # 在此块中安全地访问资源
    with open("my_file.txt", "r") as f:
        data = f.read()

安装要求

  • Python 3.10 或更高版本
  • 支持 Python 3.10-3.14

项目信息