多卷文件包装库
项目描述
multivolumefile
MultiVolumefile是一个Python库,用于提供多个文件作为单一文件虚拟包装的文件对象。它继承自io.RawIOBase类,并支持其一些标准方法。
请参阅API详细信息python库参考
状态
multivolumefile模块正在积极开发中,被视为 *Alpha* 状态。不建议在生产系统中使用它,但在有限的用途范围内可能表现良好。请检查限制和已通过测试用例。
安装
您可以像安装其他公共库一样安装它,可以使用pip命令
` pip install multivolumefile `
您还可以将其添加到setup.py/cfg作为依赖项。
用法
对于具有名称 archive.7z.0001、archive.7z.0002 等的读取多卷文件,可以按如下方式调用multivolumefile;
with multivolumefile.open('archive.7z', 'rb') as vol:
data = vol.read(100)
vol.seek(500)
对于具有名称 archive.7z.0001、archive.7z.0002 等的写入多卷文件,可以按如下方式调用multivolumefile;
data = b'abcdefg'
with multivolumefile.open('archive.7z', 'wb') as vol:
size = vol.write(data)
vol.seek(0)
您将看到文件 archive.7z.001 已写入。
限制和已知问题
fileno()不受支持,调用它时将引发RuntimeError异常。
存在一些未实现的功能,例如truncate()和writeline(),将引发NotimplementedError
存在一些未实现的功能,例如 readlines()、readline() 和 readall()。
文本模式尚未实现。
**注意**:当匹配现有卷时,它会匹配除了四位扩展名之外的所有文件,可能会破坏您的数据。
贡献
您可以在 GitHub 项目上贡献该项目,像往常一样,Pull-Requests 总是受欢迎。
许可证
多卷文件库采用 GNU Lesser General Public license 版本 2.1 或更高版本授权。
变更日志
本文件将记录该项目所有显著变更。
未发布
新增
变更
修复
已弃用
已移除
安全
v0.2.3
新增
实现 readall()
变更
使用 black 进行 lint
v0.2.2
新增
添加 py.typed 文件以进行类型提示。
v0.2.1
新增
添加 name 属性,指示卷的基本名。
添加 stat(),返回 stat_result,该结果具有与 os.stat_result 类似的方法,除了平台相关的方法。
v0.2.0
新增
捆绑类型提示信息。
修复
Seek() 返回当前位置。
变更
在 README 中解释不支持的方法和模式
v0.1.4
修复
修复追加模式错误。
v0.1.3
修复
修复添加的卷大小错误。
v0.1.2
修复
修复追加模式 (#1)
v0.1.1
修复
当写入目标文件的边界时,解决 NotImplementedError。
v0.1.0
*API 更改*
新增
添加模式 ‘x’,‘xb’ 和 ‘xt’
添加模式 ‘a’,‘ab’ 和 ‘at’
支持 flush()
变更
更改 API:现在 ‘r’ 和 ‘rb’ 的文件参数是单个基本名,而不是文件列表
v0.0.5
支持上下文管理器
支持读取函数。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。