这是我第二次在线搜索download.file的帮助,并通过调用mode参数解决了我的问题,但我不知道是什么原因或何时/为何使用它们。刚看到这个建议并通过了论证就解决了我的问题。
download.file()上的R帮助文件有点过于简单,并没有告诉我何时使用特定模式
模式字符。用于写入文件的模式。有用的值是 " w"," wb" (二进制)," a" (追加)和" ab"。仅用于"内部" 方法。 (另请参阅“详细信息”。)
为了得到正确答案,我必须通过模式=" wb"下面;但为什么(也许与https中的s有关,或者我现在应该尝试使用试验和错误)。
fileUrl <-"https://d396qusza40orc.cloudfront.net/getdata%2Fjeff.jpg"
download.file(fileUrl, destfile = "./data/leekjpg.jpg", mode="wb")
我想至少对download.file中的方法和模式参数有一些基本的了解,并希望您的解释或暗示性读取。
我正在下载更多文件,让我感到困扰的是,我不知道何时传递一些相关的论点。
答案 0 :(得分:2)
这就是文档所说的:
如果未提供模式且url以.gz,.bz2,.xz,.tgz之一结尾, .zip,.rda或.RData完成二进制传输。自Windows(不同于 Unix-alikes)确实区分了文本和二进制文件 需要使用mode =“wb”传输其他二进制文件类型。 unix进度条跟踪传输。如果文件长度已知, 等号表示完成转移的2%:否则为a 点代表10Kb。编写为下载二进制文件的代码必须使用 mode =“wb”,但文本传输引起的问题只会是 在窗口看到
基本上,当在类Unix操作系统上使用时,"w"
和"wb"
是相同的,因为它们不区分文本和二进制文件,但Windows确实如此。
在Windows中,行结尾略有不同。为了安全起见,我在打开文本文件时使用“w”,而"wb"
当文件不应该是文本时,如jpg