Skip to main content

多卷文件包装库

项目描述

多卷文件

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 类并支持它的一些标准方法。

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

地位

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()。

  • 未实现文本模式。

  • *注意*:当 globbing 现有卷时,它会 glob 除 4 位扩展名之外的所有文件,它可能会破坏您的数据。

贡献

欢迎你贡献这个项目,像往常一样在 github 项目上,Pull-Requests 总是受欢迎的。

执照

Multivolume 在 GNU Lesser General Public 许可证 2.1 或更高版本下获得许可。

变更日志

此项目的所有显着更改都将记录在此文件中。

未发布

添加

改变了

固定的

已弃用

已移除

安全

v0.2.3

添加

  • 实现 readall()

改变

  • 带黑色的棉绒

v0.2.2

添加

  • 添加 py.typed 文件以进行类型提示。

v0.2.1

添加

  • 添加指示卷的基本名称的名称属性

  • 添加返回stat_result的stat(),它具有与os.stat_result类几乎相同的方法,除了平台相关的方法。

v0.2.0

添加

  • 类型提示信息捆绑。

固定的

  • Seek() 返回当前位置。

改变了

  • 自述文件中不支持的方法和模式的说明

v0.1.4

固定的

  • 修复附加模式错误。

v0.1.3

固定的

  • 修复添加的卷大小错误

v0.1.2

固定的

  • 修复附加模式(#1)

v0.1.1

固定的

  • Fin 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 查看哈希

已上传 source

内置分布

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

已上传 py3