RCurl
返回Windows和Linux系統上ftp目錄的不同換行符。RCurl在Mac上返回什麼換行符?
if(!requireNamespace("RCurl", quietly=TRUE)) install.packages("RCurl")
link <- "ftp://ftp-cdc.dwd.de/pub/CDC/observations_germany/climate"
RCurl::getURL(link, ftp.use.epsv=TRUE, dirlistonly=TRUE)
Sys.info()['sysname'] ; .Platform$OS.type
# Windows/windows: "climate\r\nphenology\r\nradiosondes\r\nclimate_urban\r\n"
# Linux/unix: "climate\nphenology\nradiosondes\nclimate_urban\n"
要獲得字符串的載體,我可以
p <- strsplit(p, "\n")[[1]]
p <- gsub("\r", "", p) # additional carriage return in windows libcurl
同時處理不過:似乎MAC只能從https://stat.ethz.ch/R-manual/R-devel/library/utils/html/write.table.html的EOL解釋返回\r
。在那種情況下,我的方法會失敗。
有人可以用mac測試併發布mac(Sys.info()['sysname']
:「Darwin」)輸出嗎? solaris(「SunOS」)如何?
或者用重gers in strsplit:'「[\\ n \\ r \\ l]」'分割任何回車樣式。這可能會導致您的p列表中出現空條目,但可能會在之後進行過濾。 – Tensibai
經過測試:'「[\ r \ n]」'是正確的模式 – Tensibai
或者你知道'readLines(textConnection(RCurl ...))' – hrbrmstr