如何用R语言的curl包替代RCurl包删除SFTP上的文件?
使用curl包实现SFTP文件删除功能
你之前借助RCurl包删除SFTP服务器文件的代码如下:
library(RCurl) curlPerform( url = sftp_url, quote = "rm file.txt" )
改用curl包实现相同功能,核心是通过curl句柄设置SFTP的rm命令,具体代码如下:
library(curl) # 创建句柄并设置删除命令 sftp_handle <- new_handle() handle_setopt(sftp_handle, quote = list("rm file.txt")) # 执行删除操作 curl_fetch_memory(sftp_url, handle = sftp_handle)
也可以简化为更紧凑的写法:
library(curl) curl_fetch_memory( url = sftp_url, handle = new_handle(quote = list("rm file.txt")) )
注意事项
- curl包的
quote参数需要传入列表格式的命令,这是和RCurl直接传字符串的差异点 - 如需删除多个文件,可在列表中添加多条命令,例如:
list("rm file1.txt", "rm file2.txt") - 确保SFTP认证配置正确:curl会自动读取系统SSH配置,也可通过
handle_setopt(sftp_handle, userpwd = "用户名:密码")手动设置账号密码
内容的提问来源于stack exchange,提问作者thothal
相关产品推荐
相关产品推荐

