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