跳转到主要内容

多卷文件包装库

项目描述

multivolumefile

https://coveralls.io/repos/github/miurahr/multivolume/badge.svg?branch=master https://github.com/miurahr/multivolume/workflows/Run%20Tox%20tests/badge.svg

MultiVolumefile是一个Python库,用于提供多个文件作为单一文件虚拟包装的文件对象。它继承自io.RawIOBase类,并支持其一些标准方法。

请参阅API详细信息python库参考

状态

multivolumefile模块正在积极开发中,被视为 *Alpha* 状态。不建议在生产系统中使用它,但在有限的用途范围内可能表现良好。请检查限制和已通过测试用例。

安装

您可以像安装其他公共库一样安装它,可以使用pip命令

` pip install multivolumefile `

您还可以将其添加到setup.py/cfg作为依赖项。

用法

  • 对于具有名称 archive.7z.0001archive.7z.0002 等的读取多卷文件,可以按如下方式调用multivolumefile;

with multivolumefile.open('archive.7z', 'rb') as vol:
    data = vol.read(100)
    vol.seek(500)
  • 对于具有名称 archive.7z.0001archive.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

  • 支持上下文管理器

  • 支持读取函数。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源代码分发

multivolumefile-0.2.3.tar.gz (78.0 kB 查看哈希值)

上传时间 源代码

构建分发

multivolumefile-0.2.3-py3-none-any.whl (17.0 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面