使用函数Open()或OpenFile(path,os.O_RDONLY)后,我可以读取文件,但是之后无法删除该文件。因此,我尝试使用写入标志os.RDWR(如以下代码)打开文件,以查看是否可以删除文件。但是,使用os.RDWR甚至无法读取该文件。谁能向我解释它导致此问题的原因?我收到错误sftp:“权限被拒绝”(SSH_FX_PERMISSION_DENIED) 我试图查看文件的权限代码,该文件为-rwxrwxrwx。
import (github.com/pkg/sftp)
config = sftp.NewConfig(nil)
config.SetAcct("xxxxx","xxxxx")
config.SetDes("ip address", 1234)
config.Connect()
if file, err = config.Client.OpenFile(path, os.O_RDWR); err != nil {
log.Println("Cannot open "+path+" , err:", err)
}
if _, err = ioutil.ReadAll(file); err != nil {
log.Println("Cannot read "+path+", err:", err)
}
file.Close()
err = config.Client.Remove(file)
if err != nil {
log.Println("cannot remove file)
}
答案 0 :(得分:0)
您必须提供文件路径,而不是提供文件处理程序。
config.Client.Remove(pathTofile)
defer file.close()