A platform independent file lock
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 6 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 11 天前 | ||
| 11 天前 | ||
| 6 年前 |
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
项目信息
- 官方仓库:https://github.com/benediktschmitt/py-filelock
- 许可证:Unlicense
- 当前版本:3.20.1