我试图用Python脚本提取RAR文件。我只找到了两种可能的方法:使用patoolib或使用rarfile。不幸的是,这两个选项都在我的代码中引发了很多错误,我不知道如何修复这些错误。在
首先,我只试过patool和patoolib。在错误之后,我换成了rarfile和unrar。第一个似乎比较容易,但我不理解错误。第二个问题需要在环境变量方面采取很多行动,我不确定我是否做得对。在
import patoolib
patoolib.extract_archive("my_file.rar", outdir=r"C:\Users\User1\Desktop\Example_dir")
错误说明:
^{pr2}$我从here得到这个选项。我知道这个错误说明了字符串变量,但我不知道如何解释它。在
第二种选择是使用rarfile和unrar。在
import patoolib
from unrar import rarfile
from pyunpack import Archive
rarfile.UNRAR_TOOL = r"C:\Program Files (x86)\UnrarDLL\x64\UnRAR64.dll"
rarpath = 'my_file.rar'
rf = rarfile.RarFile(rarpath)
rf.extractall()
rf.extractall(r"C:\Users\User1\Desktop\Example_dir")
此选项引发了一个无理取闹的错误:
PatoolError('patool can not unpack\n' + str(p.stderr)) pyunpack.PatoolError: patool can not unpack patool error: error extracting G:\program\test.rar: could not find an executable program to extract format rar; candidates are (rar,unrar,7z),
另外,还有一个错误:
RarCannotExec: Unrar not installed? (rarfile.UNRAR_TOOL='unrar')
rarfile documentation显示,UNRAR\u工具需要是unrar.exe文件. 我已经完成了“pip install unrar”,我已经通过“pip”安装了上面所有的库。根据this的答案,我已经下载了UnRARDLL(http://www.rarlab.com/rar/UnRARDLL.exe),但我不知道应该将哪个.exe文件分配给UNRAR\u工具。我已经将环境路径添加到C:\Program Files(x86)\UnrarDLL\x64\UnRAR64.dll中,作为UNRAR\LIB峎path,但它没有帮助。在
我只想用Python脚本解开一些文件。越容易越好。你能告诉我我做错了什么吗?也许有别的方法可以解开一些文件?在
TypeError
异常声明您试图比较字符串和整数。如果对if verbosity >= 0:
的引用是正确的,则意味着verbosity
变量是字符串。也许您设置了
verbosity = '1'
,而不是之前的verbosity = 1
。在另一个错误就是它所说的:}(7zip)之一的可执行文件。如果你已经安装了它们,也许你需要告诉
could not find an executable program to extract format rar; candidates are (rar,unrar,7z)
。代码期望找到
rar
、unrar
或{patoolib
关于它们。在线
看起来不错,但如果它不起作用,则可能需要按照linked answer中的步骤操作,并设置
UNRAR_LIB_PATH
环境变量。这应该解释如何在Windows上设置环境变量:https://helpdeskgeek.com/windows-10/add-windows-path-environment-variable/
几分钟前我找到了patoolib的主人source。{{cd2>现在知道{cd1}是函数的参数。我不知道
verbosity
在这个函数中做什么。另外,我应该如何设置program
?现在我有这样的东西:错误说明:
^{pr2}$相关问题 更多 >
编程相关推荐