libarchive的python接口

libarchive-c的Python项目详细描述


https://travis-ci.org/Changaco/python-libarchive-c.svg

libarchive的python接口。它使用标准的ctypes模块来 动态加载和访问C库。

安装

pip install libarchive-c

兼容性

python-libarchive-c目前使用python 2.7、3.4、3.5和3.6进行测试。

如果您发现与旧版本不兼容,可以给我们发送一个小补丁, 但我们不会接受大的变化。

用法

导入:

import libarchive

要将存档文件提取到当前目录:

libarchive.extract_file('test.zip')

extract_memory从缓冲区提取,而extract_fd提取 从文件描述符。

读取存档:

with libarchive.file_reader('test.7z') as archive:
    for entry in archive:
        for block in entry.get_blocks():
            ...

memory_reader从内存缓冲区读取,而fd_reader读取 从文件描述符。

创建存档:

with libarchive.file_writer('test.tar.gz', 'ustar', 'gzip') as archive:
    archive.add_files('libarchive/', 'README.rst')

memory_writer改为写入内存缓冲区,fd_writer写入 文件描述符和custom_writer将数据发送到回调函数。

您还可以在tests/目录中找到更详细的示例。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用Java将dpi元数据写入jpeg图像   文件为什么Java会自动解码URI编码的文件名中的%2F?   java多动态时间事件侦听器   java中如何递归查找不同级别的属性值   java Apache Spark MySQL JavaRDD。foreachPartition为什么我得到ClassNotFoundException   Java中的循环变量文件名   java如何参数化调用JNA库的C库名称和路径?   swing如何使gif在Java中运行一次并停止?   Big Sur上的MacOS应用程序,具有java子进程和可访问性API权限   在page类中定义的java Webelement在测试类中不可访问   如何使用java if else从JSON文件中删除重复的元素?   java Android studio dalvik vm找不到类   java在数组中正确使用协方差