R scp和unzip - 无效的zip名称参数

时间:2018-01-09 11:14:14

标签: r zip scp

我想知道是否有人可以帮助我 - 我正在尝试使用scp下载文件然后解压缩它(它是一组100个文件,所以它们必须压缩,并且它也不包括unz)

基本上我先跑

x <- scp(host = "WM.net", path = "/wmdata.zip", user = "w", password =  "wm")

它返回一个原始对象(当然它是一个虚拟地址,你不会得到任何东西,我不能提供工作网站你可以scp任何东西)

> class(x)
[1] "raw"

然后我尝试解压缩

b<-unzip(x)
Error in unzip(x) : invalid zip name argument

我尝试在内存中解压缩但没有运气 - 输出仍然是原始的,而不是文件列表

z<-memDecompress(x, type = "unknown")
> class(z)
[1] "raw"

我的错误在哪里?怎么了?我有一种模糊的感觉,我需要将x保存为光盘作为zip,然后使用解压缩,但不知道如何保存原始压缩值。

编辑:我尝试通过

保存为二进制文件
f<-file("file.bin",open="wb") #or f<-file("file.zip",open="wb")
writeBin(x, f)
b <- unzip(f) #or b <- unzip("file.bin") or b <- unzip("file.zip")

并且它在第一行之后生成了一个文件,但是在第二行之后文件仍为空并且解压缩过程返回相同的zip名称错误

> class(f)
[1] "file"       "connection"
> f
A connection with                      
description "file.zip"
class       "file"    
mode        "wb"      
text        "binary"  
opened      "opened"  
can read    "no"      
can write   "yes" 

1 个答案:

答案 0 :(得分:1)

你得到的错误根本不是意料之外的,因为cmake_minimum_required(VERSION 2.8.0) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) project(mcve) add_executable(special_target special.cpp) set_target_properties(special_target PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/someotherpath) 期望一个文件作为它的第一个参数,并且你试图传递一个原始R向量,它是一个字节向量。您可以尝试首先将原始矢量写入文件,然后使用unzip读取它。像这样:

unzip

这未经过测试,但我想指出您使用各种AP​​I的问题。