压缩文件操作的通用接口
compfile的Python项目详细描述
compfile用于操作压缩文件的通用接口(lzma、gzip等)
基本原理
有时,我们需要处理不同的压缩文件。有 用于压缩文件操作的几个包/模块,例如, 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