Skip to main content

随机访问只读 Tar Mount 库

项目描述

随机访问只读 Tar Mount (Ratarmount) 库

这是 ratarmount (CLI) 用作后端的库。有关包括动机和绩效比较的完整描述,请参阅ratarmount。

目录

  1. 安装
  2. 用法

安装

PIP 包安装

在许多情况下,一个简单的 pip install 应该可以工作:

pip install ratarmountcore[full]

如果其中一个压缩依赖项有问题,请先尝试安装它而不安装依赖项:

pip install ratarmountcore

如果可行,请仅安装您需要的那些依赖项,例如:

pip install ratarmountcore[bzip2,gzip]

您可以安装最新的开发版本:

python3 -m pip install --user --force-reinstall 'git+https://github.com/mxmlnkn/ratarmount.git@develop#egginfo=ratarmountcore&subdirectory=core'

依赖项

需要 Python 3.6+,最好是 pip 19.0+。这些应该预装在大多数系统上。

Ratarmountcore 具有尽可能少的必需依赖项,以便在所有可能的系统上造成最少的麻烦。这意味着默认情况下只有未压缩的 TAR 和 ZIP 支持才会起作用。所有可选依赖项都作为附加项提供。

附加功能

Ratarmountcore 提供这些附加功能(可选依赖项):

  • 完整的,bzip2,gzip,rar,xz,zip,zstd

Full 包括其他附加组件的所有依赖项。extra目前只是一个占位符,因为正在使用zip内置模块。zipfile

为了安装这些提取之一,请将它们附加在括号中:

python3 -m pip install --user ratarmount[bzip2]

如果您在没有 manylinux 轮子的系统上安装,那么您必须安装从源代码构建所需的依赖项:

sudo apt install python3 python3-pip fuse build-essential software-properties-common zlib1g-dev libzstd-dev liblzma-dev

用法

这个库提供了一个足以与 FUSE 一起工作的接口。该MountSource接口具有列出路径和获取文件元数据和内容的方法。

ratarmountcore 库MountSource为不同的归档格式提供了多种实现:

  • SQLiteIndexedTar: 这是最古老和最强大的实现。它支持快速访问(压缩)TAR 中的文件。
  • RarMountSource:使用 rarfile 的 RAR 实现。
  • ZipMountSource: 使用 zipfile 的 ZIP 实现。
  • FolderMountSource:将现有文件夹作为输入的实现。

还有这些功能实现MountSource:

  • UnionMountSource:采用多个 MountSource 实现并显示其文件层次结构的合并视图。
  • FileVersionLayer:将 MountSource 作为输入,解码请求的路径,也接受路径,并使用给定的文件版本<file>.version/<number>调用 的方法。MountSource
  • AutoMountLayer:取一个MountSource,遍历其所有文件并以与UnionMountSource.

工厂函数根据文件类型open打开其中一个归档实现。MountSource

挂载源类图

例子

import ratarmountcore as rmc

archive = rmc.open("foo.tar", recursive=True)
archive.listDir("/")
info = archive.getFileInfo("/bar")

print "Contents of /bar:"
with archive.open(info) as file:
    print(file.read())

项目详情


下载文件

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

源分布

ratarmountcore-0.3.2.tar.gz (61.1 kB 查看哈希)

已上传 source

内置分布

ratarmountcore-0.3.2-py3-none-any.whl (68.7 kB 查看哈希)

已上传 py3