多卷文件包装库
项目描述
多卷文件
MultiVolumefile 是一个 python 库,用于提供一个文件对象,它可以像单个文件一样包装多个文件。它继承 io.RawIOBase 类并支持它的一些标准方法。
请参阅python 库参考中的 API 详细信息
地位
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()。
未实现文本模式。
*注意*:当 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 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | a0648d0aafbc96e59198d5c17e9acad7eb531abea51035d08ce8060dcad709d6 |
|
| MD5 | 9bcc5c3e6f2046f563904354f0ead4c3 |
|
| 布莱克2-256 | 50f0a7786212b5a4cb9ba05ae84a2bbd11d1d0279523aea0424b6d981d652a14 |
multivolumefile -0.2.3-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 237f4353b60af1703087cf7725755a1f6fcaeeea48421e1896940cd1c920d678 |
|
| MD5 | 227a780898fb5f4202bf445fcc5772d9 |
|
| 布莱克2-256 | 2231ec5f46fd4c83185b806aa9c736e228cb780f13990a9cf4da0beb70025fcc |