我需要解压缩zip和rar档案,这也必须是一个多平台解决方案.
在R中,您可以通过命令轻松解压缩zip
unzip(filename, exdir=‘’)
但我发现我无法以这种方式解压缩rar文件.
在OS X上我可以简单地打开存档来解压缩它,如果我有这样的unarchiver配置:
system(paste("open", path))
我用谷歌搜索,7zip可以安装并从控制台解压缩,所以我试过Windows的installr包
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应用程序包中.
嗯,还有免费的UnRAR for Windows(x86和x64),Linux,Mac OS X以及WinRAR and RAR archiver addons页面上各种处理器的其他操作系统.因此,您可以为您要支持的每个平台创建一个包含R应用程序和适当UnRAR应用程序的程序包.