我需要解压缩zip和rar文件,这也必须是一个多平台解决方案。

在R中,您可以通过命令轻松解压缩zip

unzip(filename, exdir=‘’)

但是我发现我无法以这种方式解压缩rar文件。
在OS X上,如果我以这种方式配置了unarchiver,则可以简单地打开归档文件以对其进行解压缩:
system(paste("open", path))

我用谷歌搜索,可以安装7zip并从控制台解压缩,所以我尝试了Windows的安装程序包
require(installr)
install.7zip()
system(paste("7z x", path))

但我得到警告,什么也没发生
running command '7z x 1.rar’ had status 127

和Unix的终端命令
system('sudo apt-get install p7zip-rar')
system(paste("7z x ", path))

但是它用sudo返回了错误
sudo: no tty present and no askpass program specified

最佳答案

为了支持您自己的应用程序在任何平台上解压缩RAR归档文件,建议将 UnRAR源代码集成到您的应用程序中。源代码是用C++编写的。因此,您需要使用C++编译器为所有平台编译此源代码,并将生成的应用程序添加到R应用程序包中。

好了,在WinRAR and RAR archiver addons页面上,还提供了适用于Windows(x86和x64),Linux,Mac OS X和其他操作系统的免费UnRAR,适用于各种处理器。因此,您还可以使用R应用程序和适合您要支持的每个平台的UnRAR应用程序创建一个包。

关于r - 在R中解压缩rar文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28853618/

10-10 11:40