压缩文件操作的通用接口

compfile的Python项目详细描述


compfile用于操作压缩文件的通用接口(lzma、gzip等)

Build StatusDocumentation StatusCoverage Status

基本原理

有时,我们需要处理不同的压缩文件。有 用于压缩文件操作的几个包/模块,例如, gzip模块用于“*.gz”文件,lzma模块用于“*.lzma”和 “*.xz”文件等,如果我们想支持不同类型的 项目中的压缩文件,可能需要执行以下操作:

iffnmatch.fnmatch(fname,"*.gz"):f=gzip.open(fname,'rb')# do something with feliffnmatch.fnmatch(fname,"*.bz2'):f=bz2.open(fname,'rb')# do something with felse:# other stuffs

上述方法的问题是:

  • 我们需要在任何地方重复压缩类型推理逻辑 希望支持不同的压缩类型。
  • 不同的压缩类型操作模块可能有不同的 API惯例。

compfile旨在解决上述问题。它抽象了压缩文件操作的逻辑,并为用户提供单一的高级接口。

安装

从pypi安装

pip install compfile

从Anaconda安装

conda install -c liyugong compfile

从github安装

pip install git+https://github.com/gongliyu/compfile.git@master

简单示例

使用compfile非常简单。只要构造一个 compfile.compfile对象或调用compfile.open

withcompfile.open(fname,'r')asf:# do something with f

返回的对象是一个文件对象,所以我们可以做普通的文件 正在处理。

许可证

compfile包在MIT License

下发布。

文档

https://compfile.readthedocs.io

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

推荐PyPI第三方库


热门话题
生成的代码为什么在无人机中使用Java是不安全的?   java实体继承和鉴别器列   java使用Struts 2中sj:datepicker的beforeShow事件   JavaMaven没有安装pom文件中的所有内容,导致“缺少必需的库”x124   java将自定义GIF从assets文件夹加载到recyclerview 安卓中   java实现稀疏数组   java在获得所需结果集后关闭连接对象   java在活动中将数组值添加到MClickListener()   java如何删除单元格工厂引用   java字符串。分号分隔   Java抽象和接口   java Intellij IDEA SLF4J:未能加载类“org.SLF4J.impl.StaticLoggerBinder”   java改造JsonArray recyclerview异常   JavaJUnit@Theory:有没有方法抛出有意义的异常?   如何在Java中将XML内容写入字符串?