UNRAR库的包装器,基于cTypes。
unrar的Python项目详细描述
使用cTypes通过UNRAR库处理RAR存档文件。
文档:http://python-unrar.readthedocs.org
安装UNRAR库
您可以从以下位置下载UNRAR库源文件(和/或二进制文件):
http://www.rarlab.com/rar_add.htm
然后编译(可能需要根据操作系统重命名要使用的makefile)并从那里安装:
$ make lib
$ make install-lib
对于windows,您还可以下载已经编译的库(http://www.rarlab.com/rar/UnRARDLL.exe)。
如果不希望安装库,则应通过将库文件添加到搜索库的目录(或更改所需的环境变量)使其“可查找”
另一种方法是,您还可以在环境中设置unrr lib_path变量,指向库路径,python unrr将尝试从该变量加载unrr库。
安装python unrr
要安装python unrr:
$ pip install unrar
更改
- v0.3
- 向rarfile添加open/read方法,将数据提取到内存中。
- 增加了对unrar事件回调的支持
- v0.2
- 添加了Python3支持并修复了一些Unicode问题。
示例
>>> from unrar import rarfile >>> rar = rarfile.RarFile('sample.rar') >>> rar.namelist() [u'test_file.txt'] >>> rar.printdir() File Name Modified Size test_file.txt 2013-04-14 08:20:28 17 >>> rar.testrar() >>> info = rar.infolist()[0] >>> info.filename u'test_file.txt' >>> info.file_size 17L >>> info.date_time (2013L, 4L, 14L, 8L, 20L, 28L) >>> rar.read('test_file.txt') 'This is for test.' >>> rar.extractall()