unrar如何用python文件

2 8*_*2 8 11 python unzip unrar python-2.7

如果file是a .zip和unrar文件,如果我的文件类型是,我可以解压缩文件.rar.我如何使用python 2.7完成这项工作?

lel*_*uch 14

迟到了,但我对任何答案都不满意.

pip install patool
import patoolib
patoolib.extract_archive("foo_bar.rar", outdir="path here")
Run Code Online (Sandbox Code Playgroud)

适用于Windows和Linux,无需任何其他库.

  • 我尝试了上面的内容并得到了`patoolib.util.PatoolError:找不到可执行程序来提取格式rar; 候选人是(rar,unrar,7z),"如果我正确地理解它,我需要有一个实用程序,这会破坏目的. (16认同)

Rom*_*uzi 11

一个很好的包是rarfile

信息和文档在这里:

https://pypi.python.org/pypi/rarfile/

https://rarfile.readthedocs.io/api.html


小智 10

试试pyunpack包裹:

from pyunpack import Archive
Archive('a.zip').extractall('/path/to')
Run Code Online (Sandbox Code Playgroud)

  • 它是否需要`patool`或其他一些东西? (2认同)

Shi*_*hah 5

经过一番深潜,以下是我的发现:

  • RAR 不是免费的开放格式,由 RARLabs 拥有。您必须先安装他们的 DLL 或 exe 才能使用 RAR。像 7zip 这样的一些程序可能已经包含了这个。
  • patool是为其他外部压缩应用程序提供统一命令行作为包装器的应用程序。本机只能处理 TAR、ZIP、BZIP2 和 GZIP,无需外部支持。
  • pyunpack是 Python 库,它只能在本机处理 zip,但提供 .zip 的接口patool

考虑到这一点,以下事情对我有用:

  • 确保安装了 7zip
  • pip install patool pyunpack

然后使用它,

import pyunpack

pyunpack.Archive(archive_file).extractall(extract_dir)
Run Code Online (Sandbox Code Playgroud)